Reimplement string table processing with hash table. This change
significantly improves the performance of option "--only-keep-debug"
on larger binaries.

Submitted by:	Ed Maste
Ticket:	#466

git-svn-id: svn://svn.code.sf.net/p/elftoolchain/code/trunk@3135 95820547-d848-0410-985e-9ae8fe0fa350
Previously API dwarf_init() and dwarf_elf_init() will return
DW_DLV_NO_ENTRY if ".debug_info" section is not found. This behaviour
is now changed so that they will only return DW_DLV_NO_ENTRY when
there is no debug section present at all.

After this change, "readelf -wf" will be able to dump frame
information from an (stripped) object that only has ".eh_frame" or
".debug_frame" section.

git-svn-id: svn://svn.code.sf.net/p/elftoolchain/code/trunk@3136 95820547-d848-0410-985e-9ae8fe0fa350