Introduce --time-stamp-precision

A while ago we introduced new API in libpcap which made possible to
request time stamps with higher precision (nanoseconds). This commit
aims to move things forward and implement missing bits. It introduces
new long option --time-stamp-precision. Note that there is no equivalent
short option.

When used for a live capture tcpdump will ask the kernel for time stamp
with desired precision and tcpdump will print fraction part of the time
stamp using respective format. We currently support only microsecond and
nanosecond precision. In the future we might support even more granular
time stamp precision, but we should be fine to support only
microseconds and nanoseconds for now. libpcap doesn't provide anything
else at the moment anyway.

When used in combination with -r/-w options then we obtain time stamps
appropriately scaled up or down from libpcap. Also note that distinct
magic number is used for savefiles containing nanosecond time stamps.
update CREDITS
fix bittok2str_internal() w/o separator (GH #391)

Simplify separator string handling in bittok2str_internal(): use empty
value for the first snprintf() call and set new value after each use.
This makes the terminating null char management unnecessary, especially
that it missed the case where there was no separator and no match (it
would return the previous content of the static buffer unchanged).

This change may affect the output of tcpdump in that before it could
print either "[]" or "[none]" or a string like "[S.]" for TCP flags
value 0. Now it prints "[none]" as that is exactly the value passed to
bittok2str_nosep() in tcp_print().
PPP: reuse etheraddr_string()

Also rewrite a check in the same form as in the preceding switch case.
don't reinvent ND_TCHECK2()
Make droproot say something when successful.

I've seen people run into situations where they were using a command like this:

tcpdump -i eth0 -G 500 -w /root/%H%M%S.pcap

The first file would be created successfully but the second file would not
because their version of tcpdump was dropping privs. It was unclear to them
that this was going on and was causing confusion.

At least with this message in there it should become more evident that
privs are being altered and aid in debugging these kinds of problems.
Print priv drop msg here too.
Babel: parse sub-TLVs even when they are larger than expected.

We can imagine appending additional data to sub-TLVs in the future: be
more forgiving when parsing them.
Make the table of long options const.
Merge pull request #396 from zorun/master

Babel: parse sub-TLVs even when they are larger than expected.
Merge pull request #377 from msekletar/master

timestamps: make possible to request high precision timestamps
Give more details for --time-stamp-precision.
Allow builds if libpcap doesn't have pcap_set_tstamp_precision().

Check for pcap_set_tstamp_precision() in the configure script and, if
it's not there, don't include the code that allows time stamp precisions
to be set.
Don't assume the NFS request is aligned on a 4-byte boundary.

The XID is a multi-byte field, and, if it's not aligned, it must be
copied with UNALIGNED_MEMCPY().

This should fix GitHub issue #395.
Don't treat 65535 as the maximum snapshot length.

Make it 131072, instead; the MTU on the Linux loopback interface, in at
least some versions of the kernel, is 65536, and that doesn't count the
fake Ethernet header, so we need a value bigger than 65536.  We don't
want a value that's *too* large, so that it causes attempts to allocate
huge amounts of memory, however.

This (plus the corresponding change to libpcap) should fix GitHub issue
Boost the maximum snapshot length to 262144, for USBPcap.
RPL: print DAO flags (acK, DagID)
remove DAO messages from DIO test data
updated CREDITS and CHANGES file for 4.6.0 release
updated VERSION file for branch
updated VERSION file for trunk