performance improvements and better interval handling

This builds on top of the previous PR (#7) and adds:

* performance improvements of over 50% by using one carbon connection instead of establishing one for each plugin
* better handling of intervals based on actual processing time. This will ensure the plugin will run at the specified intervals, instead of interval + (unpredictable) processing time.
* small tweaks to error messages