ceph: update the Ceph collector

1. The library routine subprocess.check_output was added in 2.7. This
patch implements a similar function on top of Popen in order to support
2.6.

2. Examines the performance counter schemas to make a better guess about
the data types being collected (e.g. counters, bytes, etc...)

3. Avoids creating deeper metric paths "osd.N", and renames these to be
osd-N which Graphite will not treat as a nested name.

4. Records the average since the last invocation of the collector for
the long-running average Ceph metric types.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Merge pull request #455 from ceph/wip-ceph-upstream

ceph: update the Ceph collector
Revert "ceph: update the Ceph collector"

This reverts commit 29f363a36c03fb0f339c093674474c72c01507d1.
test case for #456
Fix #456, this splits the url correctly into parts before processing
Fixes #453, this prevents the "Skipped loading disabled Collector" from logging outside of debug mode
Cleanup SNMPCollector slightly
pep8
Test for unpublished metrics
Re #458, this adds in the option to enable tcp keepalives for the graphite handler. This should prevent tcp stream timeouts.
Enable default database for _connect()

In the event you connect with a user that doesn't have it's own
database, set the default to be 'postgres' to enable _get_db_names()
to be able to collect the list of databases.
Adding the ability to set keepaliveinterval and atempt socket reconnect
on exception in _send_data
Merge pull request #461 from peterkh/master

Adding the ability to set keepaliveinterval and attempt socket reconnect on exception in _send_data
Merge pull request #459 from jbouse/feature/postgres-defaultdb

Enable default database for _connect()
Adding DRBD collector
ipvs.py: Add transport specifier to cluster name.

In some cases, for instance when loadbalancing DNS, it may make sense to
have both a UDP and a TCP cluster definitions servicing the same IP and
port on both transport protocols. This was poorly supported before, as
these two clusters' values would be published to the same metric.

This patch prepends all cluster names with their transport protocol and
an underscore, to allow this distinction.
ipvs.py: Also collect current connection counts.

This patch adds collection of the current counts of active and inactive
connections, both per backend and the total counts for the virtual
instance. This depends on an additional run of ipvsadm, as this info
cannot be obtained simultaneously with the --stats argument.

Please note that for setups using Direct Server Return, the active
connection counts will tend to be zero.
netapp inode collector (current inodes and max inodes per volume)
fixed docstring
Merge pull request #467 from faridsaad/drbd_collector

Adding DRBD collector