Add support for the Authorization parameter 'realm'

The realm parameter is required when interacting with some OAuth 1.0 APIs. This change allows an optional realm to be set on an OAuthRequest, and if set then the realm will be included when generating an Authorization header value.

Realm is also essential when APIs support multiple token providers, as the realm value identifies the provider.

Closes #424.