Add test for collectd COUNTER wrapping

File /tests/collectd-counter-wrap.pkts contains captured collectd
packets containing 2 sources of type COUNTER. The capture contains
10 measurements with 2 seconds interval for each counter that
increase by 1024 (thus expecting 9 values of 512 when parsed).

One counter wraps around 2^32, the other at 2^64.

The test currently fails because CollectDServer._calc_counter
drops the sample if the value is less than the last one received.

Note: This is required in types.db :
    "counters a:COUNTER:0:U, b:COUNTER:0:U\n"
Fix handling of collectd counter wrapping

from https://collectd.org/wiki/index.php/Data_source :

COUNTER
These data sources behave exactly like DERIVE data sources in
the “normal” case. Their behavior differs when valuenew < valueold,
i.e. when the new value is smaller than the previous value. In
this case, COUNTER data sources will assume the counter “wrapped
around” and take this into account. The formula for wrap-around
cases is:

rate = (2^width + val - pval) / (time - ptime)
width = pval < 2^32 ? 32 : 64
Merge pull request #37 from dimrozakis/collectd_counter_wrap

Collectd: Handle counter wrapping