Allow Extensible HTTP Request Backends

Hi Pablo,

First off, thanks for putting together Scribe, awesome OAuth library. We are using it extensively in our Android development as well as in our Android training curriculum. 

We encountered a frustrating limitation, which is that since Scribe locks me to the OAuthRequest concrete class, it makes it almost impossible to use scribe alongside another excellent library [Android Async HTTP](http://loopj.com/android-async-http/). That async library is an incredibly powerful way to manage async http requests within an application.

Our goal was to make surgical changes to scribe (as little as possible) to allow support for extensible request backends so that we can use scribe to sign authenticated requests using any arbitrary request object.

The scribe source changes as you can see in this PR center around the concept of a new interface called `OAuthBaseRequest` which is a simple interface that any object can implement in order to be compatible with scribe signing. Then we simply have `OAuthRequest` implement that interface and left it alone otherwise (since the interface signatures are identical to the existing Request interface). 

All other changes just switch the type in certain signatures from `OAuthRequest` to `OAuthBaseRequest` and make no other changes whatsoever to the existing codebase.

We hope you will pull in this change. We would be happy to contribute a guide to explain how to plug scribe into any HTTP backend available on Android. We have already successfully combined Scribe with [Android Async HTTP](http://loopj.com/android-async-http/) and we love it.

Please give us any feedback. Thanks.