[rabbitmq_topic] Initial check in of working handler to send data to a rabbitMQ Topic Exchange
add methods to avoid repeatedly logging error messages

* keep a dict with the error messages and the last emit timestamp
* and add a way of clearing this dict when required

Signed-off-by: Tomas Neme <lacrymology@gmail.com>
use the new throttle_errors method on socket errors

don't flood the logging facility if the server is down, or other network
errors keep happening

Signed-off-by: Tomas Neme <lacrymology@gmail.com>
reset the errors dict when we were finally able to contact the server

Signed-off-by: Tomas Neme <lacrymology@gmail.com>
docstring

Signed-off-by: Tomas Neme <lacrymology@gmail.com>
don't fail if the error string doesn't exist in the dict

Signed-off-by: Tomas Neme <lacrymology@gmail.com>
[rabbitmq_topc] Added support for sepcify using metric as routing key, or a custom string
Add a debian source package build step

If using something like a PPA from Launchpad then rather than the deb
package you require a signed source package. This commit adds a separate
sdeb build step, as well as allowing building for different
distributions.
Merge pull request #511 from garethr/debian-source-package-build-step

Add a debian source package build step
Fixes #504. This adds a way to be smarter about hard coded paths in the collectors. We will scan via PATH and then check standard paths, failing back to the hard coded default if none are found
Merge pull request #507 from lrsmith/rabbitmq_topic

Rabbitmq topic
Fix return indention level
Merge branch 'master' of github.com:BrightcoveOS/Diamond
pep8 fixes
move throttle_error to Handler and use time.time() instead of datetime.now()
Merge pull request #505 from Lacrymology/throttle-logging

Throttle logging
Make drbd collector python 2.4 safe
Move to old except version
Move to nested try blocks to support python 2.4
Move another exception to python 2.4 supported format