Optional header with basic authorization

Some OAuth providers require authentication in the form of Authorization header (see docs here: [RFC 2617 section 2](http://tools.ietf.org/html/rfc2617#section-2))

For example, in my case server requires a header formatted like this:

    Authorization: Basic <base64(user:pass)>

This option may be useful and spare some Go programming for somebody, so I decided to make a pull request.

P.S. sorry for the mess in commits