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.
Add unicode type detection for consumer key/secret

The hmac module won't accept unicode objects so cast them before using
them if they're present.
Added new param (include_rts) to list_timeline
Merge pull request #363 from iamedd/master

Added new param (include_rts) to list_timeline
Merge pull request #354 from lysol/master

Add unicode type detection for consumer key/secret
Merge branch 'backoff' of https://github.com/tewalds/tweepy into tewalds-backoff

Conflicts:
	test_requirements.txt
	tweepy/streaming.py