It returns just a section_iterator currently and have a report_fatal_error call inside.
This change adds a way to return errors and handle them on caller sides.
The patch also changes/improves current users and adds test cases.
Tools/places affected: llvm-readobj, llvm-objdump, llvm-cxxdump, llvm-dwarfdump, RuntimeDyld