* Make binutils thread safe.
binutils is now used from multiple goroutines when the
web interface is enabled (since http server spins up a new
goroutine for each request). Added appropriate synchronization
to various objects in binutils to provide the appropriate
thread-safety.
In addition, added a bunch of tests:
. Test parsing of nm output.
. Tests for Binutils methods.
. Test llvm-symbolizer interface (using an llvm-symbolizer emulator).
* Fix go vet errors about unkeyed literals.
* copy stderr to figure out test failures
* Make shell script portable.
* Update comments to match new var name.
* Give a name to the embedded Mutex field in addr2Liner.
Prefer nm based function names to addr2line based names.
The names produced by addr2line are often incomplete. Fix this by
falling back to nm to get function names and using the nm-provided
name if it is longer.