Added support for messages, multiple values and derivative approach to derive/absolute/counter types.

These commits add support for collectd messages, multiple values and calculates the derivatives for derive/absolute/counter types.

Counter types only increase, and the actual value of the counter is not that interesting, but it's derivative is.

Previously, a VALUES part in the collectd module was handled by dropping all values except the last, which was used as the value for a metric.

However, in the case of for example disk_octets, which has 2 values (read and write), but only one value is used.
This has been fixed to rename the metric to disk_octets_0 and disk_octets_1. 

In the graphite broker it will write it as disk_octets.0 and disk_octets.1 (because the names are unknown in the network protocol, and only known the the collectd daemon via types.db), and in the graphite UI it will display as
disk_octets.*  showing both in a single graph.

This functions with both the shinken broker, and official collectd write_graphite plugin, which will write the metric as disk_octets.read and disk_octets.write .