Mainly use imported structs by field and update a mismatch printf string on a test error message.
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.
Provide native Go mocks for binutils to use during testing, instead of relying on shell-script mocks of those tools.
Also update the build instructions to use go get