Reconnect according to twitters recommendations.

Recommendations found here: https://dev.twitter.com/docs/streaming-apis/connecting#Reconnecting

A simpler and more complete version of
- https://github.com/tweepy/tweepy/pull/132
- https://github.com/tweepy/tweepy/pull/150
only handling the reconnect strategies.
Add tests for the streaming connection backoffs.

Move mock.py contents into test_utils.py to fix conflict between local mock.py and mock library.
Merge branch 'backoff' of https://github.com/tewalds/tweepy into tewalds-backoff

Conflicts:
	test_requirements.txt
	tweepy/streaming.py