First draft of a reconnecting client service.
Clean-up the implementation a bit.
Start of some tests for reconnecting client.
Add a TODO about providing a hook for resetDelay.
Start implementing returning a suitable deferred from stopTrying.
Properly wait for any existing client connection to close.
Fix initial retrying and typo in calling addErrback.
Remove inheritance from ReconnectingClientFactory and calls to resetDelay().
Hook up client endpoint using ReconnectingClientService.
Fix tests.
Use True and False for continueTrying (this is 2013 after all).
Add tests for everything except retry and stopService.
Test stopService.
Clean-up and fix retry() a little.
Tests for retry().
Factor out some common test code and add two missing inlineCallbacks.
Add support for whenConnected as suggested in TwistedMatric issue 4735.
Backing out the whenConnected support for now. I convinced myself that the
extra features in Twisted issue 4735 are useful and fairly easy to add on
top of the current implementation but I think this code needs to make it
into the Twisted branch before it makes sense to work on that.

Revert "Add support for whenConnected as suggested in TwistedMatric issue 4735."

This reverts commit 449d333df6390e7024e9a3c0d8b898b3b0521859.
Merge branch 'feature/issue-555-add-reconnecting-client-service' into develop
Merge branch 'develop' of github.com:praekelt/vumi into develop