Streaming API

Ref: #35

Implementation situation
=========================

Endpoints
---------------

### Public streams

- [x] GET statuses/sample
- [x] POST statuses/filter
- [x] GET statuses/firehose (cant access API)



### User streams

- [x] GET user

### Site streams

- [x] GET site (cant access API)
- [ ] GET c/:stream_id/info

`GET site`, `GET c/:stream_id/info` and `GET sutatuses/firehose` request permission.
I dont have permission.
I have implemented them, but they have not been tested.

MessageTypes
-------------

- [x] Tweet
- [x] StatusDeletionNotice
- [x] LocationDeletionNotice
- [x] LimitNotice
- [x] WithheldContentNotice
- [x] DisconnectMessage
- [x] StallWarning
- [x] FriendsList
- [x] DirectMessage
- [ ] Event
  - [x] Null
  - [x] Tweet
  - [ ] List
- [x] TooManyFollows
- [ ] Envelope(for sitestream)
- [ ] ControlMessage(for sitestream)

`EventList` needs `List`. if #45 is merged, I will implement this.

`Envelope` and `ControlMessage` are SiteStream Messages.


TODO
---------

- [ ] README



Example
============

tweet viewer

https://gist.github.com/pocke/38e9f614dc69906eccb9