Merge pull request #23 from JensRantil/benchmarks

Benchmark tests for `process*(...)`
Log if we are struggling to keep up with metrics

Currently there is no way to know whether a submission takes longer than
expected. If it does, `statsdaemon` will start to submit parts of the
next batch which will yield incorrect counts in most cases.
Revert "Log if we are struggling to keep up with metrics"

This reverts commit 03ced64974fb2170220634d074b76945f20a66ea.

Reverting this to try out a different solution discussed in [1].

[1] https://github.com/bitly/statsdaemon/pull/22
Make `submit()` return its errors

* Logging of the errors is now done by the caller.
* This change makes it possible for the caller to decide how to handle
  errors. Ie. retry etc.
Add deadline to submission

This makes it possible for the caller to decide how to handle things
when deadlines are passed. See [1] for discussion about this.

[1] https://github.com/bitly/statsdaemon/pull/22#issuecomment-28012478
Handle more timeout cases
Revert "Handle more timeout cases"

This reverts commit 6f8eb790bf74798c6f4850784fcfd3dbef5f9d90.

Reverting this because I just discovered TCP connection deadline support
in Go.
Revert part of "Add deadline to submission"

This reverts part of commit 9097b2ea319d5219c67ce5d07f370508c95a25c3.

Removing this because I'll be adding a timeout to the client connection
instead.
Add TCP connection deadline