Use user supplied options when resending authenticated requests

Hooks sometimes have to send requests (e.g. when responding to a 401 during
authentication).

All keyword arguments should be passed along when hooks are dispatched so that
if a user wanted to use a timeout, stream, specify a cert location with the
verify flag, etc, their specification can be followed.
Adding test to ensure options like stream function with authentication

This test demonstrates the reason why we need to pass kwargs to hooks. Without
it, features like stream cannot work with authentication.
New tests fail on python 3.x because read() returns bytes and the test checks for strings
Fixing test for python3
Merge pull request #1190 from mkomitee/master

Pass user options to hooks