XD-231: Twitter "gardenhose" support.

Initial commit - ported from kodiak with some minor alterations.
XD-231: Don't retry gardenhose on a 401

If authentication fails, the source fails to start rather than
trying repeatedly.
XD-231: Add back-off support for errors.

Back-off for rate limiting and other errors as required by the
twitter API docs.
XD-231: Add read timeout property to gardenhose.

Prevents the stream hanging in some cases. Default timeout is set
to 90s as recommended by twitter.

See https://dev.twitter.com/docs/streaming-apis/connecting#Stalls
Merge branch 'gardenhose'