Various improvements

With these changes merged, we can do fun stuff [like this](https://github.com/staticfloat/BinaryAnalysis.jl/blob/master/test/runtests.jl) (Where all the actual work happens [here](https://github.com/staticfloat/BinaryAnalysis.jl/blob/master/src/BinaryAnalysis.jl)).

I assume you'd eventually like to make ObjFileBase flexible enough that I can abstract out the mach-specific stuff and do this to ELF files as well?
Because you might not care about the name? I agree this is a tricky case. However, in the past I have kept these very closely to the actual structures in the header file, so you can look at what's actually going on. That is helpful in case the underlying file is corrupted, etc. I think it would be just as convenient to define a `name` function on `LoadCmd{dylib_command}`. Does that seem reasonable. We can also override show for that and expand the name.