Added a hash table for targets.

Targets are looked up before insertion to avoid duplicate
entries. Duplicates are marked as such.

Inbound packets use the hash to find the corresponding target.
Fix: nondisplayed targets and no IPv6 response.

  * Nothing would display if first target was a duplicate. As npkts
    would be zero for the first item to be drawn. Workaround by
    incrementing npkts for duplicates.

  * IPv6 didn't compare correctly in findtarget.
Updated manual page and adjusted dependencies.
xping 1.0
main: derive version string from git tags

Use the "git describe" to derive a version identifier.
If "git describe" is unavailable make an idenfier from local time.
bug: have -A alert on non-reply ICMP packets

When host is down routers may send ICMP unreachable, we probably still
want an alert if alerting on non-replied (usually timeout) packets.
bug: printf(3) needs double percent

Some implementations display % when used with an unknown conversion
specifier (equal sign in this case). Some implementations don't.

Right way is to have "%%" to display "%".
bug: currect size of stats structure

sizeof(stats) is probably 4 or 8 bytes (pointer sized).
sizeof(*stats) is way more (size of dereferenced struct).
bug: have -A alert on non-reply ICMPv6 packets

Similar to d9abf14 but also do -A bells for ICMPv6 unreachables.
bug: corrected meaning of exclamation (!) symbol

Due to a defective conditional chaining, transmit errors never registered
as such. Rather they registered as a partial transmit (is that even
possible with datagrams?).

Corrected legend so that (!) now represents a transmit error.

Also changed layout of the legend.
bug: avoid double alerts from delayed unreachable

When using -A icmp-unreachables arriving later than -i interval causes
two bells to sound. One from the timeout and one from the unreachable.

Additionally: while it is very likely that an unreachable will mean there
wont ever come a reply, and icmp-redirect (%) may very well result in
an reply.

Therefore wait -i interval if there is no good icmp-echo-reply sound bell
(when using -A).
ui: split terminal output in seperate file

Split termio.c on compile time option NCURSES.
The ncurses library should now be optional.
Build with vt100 control characters as default.
ui: semi-relative positioning
main: reorganize result marking
main: edge detection of loss and non-loss

If you don't need to continously be alerted of loss, but rather host
has changed "status", edge detection will bell on rising edge (-aa)
going from not responding to responding and falling edge (-AA) going
from responding to not responding.
ui: color resolved hosts by address family
ui: make statistics a compile time option

Statistics take up a lot of terminal rows and are pretty useless for
the average use case.
main: create new targets in seperate function
main: move target scheduling to own function
main: support reading targets from stdin

First take targets from command line, if not targets are given or if
stdin isn't a tty read from stdin also.