library_get_prototype, find_proto_data now use a full library_symbol, not just a name
Symbol parser now stores all the names it encounters

Complicated libraries (glibc, say) have aliases for many of its names. These may
or may not match the set of names in the corresponding DWARF data. Previously if
the symbol table contained multiple symbols with the same address we'd keep the
one with the shortest name. If this didn't match any of the names in the DWARF
data, the prototype would not be imported successfully. Now I keep all the
names, so matches can happen.

An example that triggers this problem is nanosleep. The exported symbols are
"nanosleep" and "__nanosleep", while the DWARF has "__nanosleep" and NO
"nanosleep".
added debugging functions to dump the protolib, symbols