Added manpage section giving examples of -x, -e and -l usage
added NEWS, CREDITS info about the new DWARF prototyping code
added hash and equality functions for uint64_t

The hash function is identical to the 32-bit signed int hash function. This
function is unideal for such extended use, but is sufficient for now
dict_hash_uint64: do not ignore upper 32 bits of the quantity
We now use known prototypes for all aliased symbols (same address)

Some libraries have multiple names for the same function. Prior to this patch,
it was possible to define a prototype for a symbol, and not have ltrace use it
because it saw a different symbol be called. libc is a common source of this.
For instance (on my amd64 Debian box) it defines the nanosleep symbol as both
'nanosleep' and '__GI___nanosleep', at the same address. If a calling library
calls '__GI___nanosleep', then an ltrace prototype for 'nanosleep' would not be
used, even though it should apply to this call
DWARF prototypes are now generated with both the plain and the linkage names

If a die has a DW_AT_linkage_name, I now use it: this is required for C++ code,
in particular.

I use the plain name regardless, since sometimes the exported symbol corresponds
to the plain name, NOT the linkage name. For instance I see this on my
Debian/sid amd64 box. In its libc, the linkage name of __nanosleep is
__GI___nanosleep, but the export is __nanosleep
renamed _dtor_* and _clone_* functions to remove the leading _
whitespace 'if(' -> 'if ('
clarified some int return code checking
added forgotten free(), forgotten return
library_exported_names_each_alias(), library_exported_names_each() now restartable

These function now takes a *start_after, and return a pointer to the first
failing key, like the other ltrace iterators
stash