This change adds support for dynamic relocations (allocated SHT_REL/SHT_RELA sections with a dynamic symbol table as their link).
There's a bit of code duplication with RelocationSections which is unfortunate. I'm not sure how to get rid of the duplication right now. If we make RelocationSection and DynamicRelocationSection have a common base class then they wind up not really having make sure that SymbolTableSection and DynamicSymbolTableSection also have a common base class. That would be fine with me except that RelocationSection::setSymTab would have to do a cast to expose the proper methods of SymbolTableSection anyway. If we go this route then there's the cast in RelocationSection::setSymTab plus a tiny bit of code duplication with Section. If we go the route I've uploaded here we duplicate a tiny bit of code in RelocationSection but we have a bit of heavier code duplication in Object::readSectionHeaders. I wasn't really sure what the best trade off was here. I settled on this but I could still be swayed to the other way. Ideally I'd like something better than either of the ways I've proposed.
The binary I added for the test is here: https://drive.google.com/file/d/0B3gtIAmiMwZXSjJUZE9pUjd4M0k/view?usp=sharing
Unless support for dynamic symbol tables in yaml2obj is added this is needed.