client_args to modify the request

Fixes #222 

@extesy, is this what you had in mind? I removed `headers` from the `__init__` BUT I kept `timeout` (even thought it should be passed through `client_args`, I feel like it's a big enough part of a streaming experience to stay in the init.

@ryanmcgrath Your thoughts on me keeping `timeout` in the `__init__`? Or should I remove `timeout` from the `__init__` and just go for consistency?