Add oneshot support and dis-entangle MetricsManager from metrics.
Add tests for oneshot (and fix bugs revealed).
Pass the manager itself to Metric.manage so that a reference to the original manager is kept and more suitable errors can be reported. Add a .managed property for convenience and backwards compatibility. Remove a number of unnecessary calls to .manage in tests.
Update documentation and comments.
Merge branch 'feature/issue-640-oneshot-metrics' into develop
Merge branch 'develop' of github.com:praekelt/vumi into develop
Use a new VumiTestCase base class with timeout and cleanup helpers instead of twisted.trial.unittest.TestCase.
Clean up some of the new cleanups.
Clean up integrat test stuff.
Remove unnecessary comment.
Use absolute imports.
Merge branch 'feature/adhoc-new-test-base' into develop
Merge branch 'develop' into feature/adhoc-amqp-test-helper

Conflicts:
	vumi/components/tests/test_message_store_api.py
	vumi/components/tests/test_tagpool_api.py
	vumi/demos/tests/test_hangman.py
	vumi/demos/tests/test_rps.py
	vumi/demos/tests/test_tictactoe.py
	vumi/tests/test_worker.py
	vumi/tests/utils.py
	vumi/transports/integrat/tests/test_integrat.py
	vumi/transports/irc/tests/test_irc.py
	vumi/transports/mtech_ussd/tests/test_mtech_ussd.py
	vumi/transports/smpp/tests/test_smpp.py
	vumi/transports/vodacom_messaging/tests/test_vodacom_messaging.py