Data can be passed as a string to requests

Adapting @gldnspud patch with @immunda's issue description.
Using Content-Type following spec and adding oauth_signature

This works on a better patch for #GH-12. It follows the spec definition and also
includes the signature when posting when header_auth is not used.
Sometimes Content-Type is not set

This is probably the final patch for issues #GH-10 and #GH-12

The body of the request isn't included in the signature base string if the
request's 'Content-Type' header isn't "application/x-www-form-urlencoded".

Also, requests-oauth overwrites request.data, relying on requests reenconding
correctly if `request.data` or `request.files` was modified in the hook. This
way we avoid duplicating code from requests and hooks can alter body to be sent.

This way we can also pull some parameters out of the data, such as oauth_callback.
This way we get #GH-13 working.
Upgrading tests

All tests against Twitter API are called with header_auth authentication and
url query string authentication.

Current version of requests-oauth only works with my fork of requests, due to
this bug in requests:
https://github.com/kennethreitz/requests/issues/445
Sometimes Content-Type is not set

Adding a test for a GET with params. In these cases data_and_params need
to be set in order to work. See issue #GH-17
Fixed typo in test_settings.

Changed repeated TWITTER config lines to CONSUMER from API.
Skipping tests if test credentials are blank.
Broke tests out a little bit.

Trying to identify which tests are valid and moving a very
small amount of common code into setUp().
Fixing _enc_params and cleaning data

url used in requests is calculated different, if we reset _enc_params as we had to do before,
we can lose GET parameters.

Also if we are doing a POST request, if information gets encoded in the url, we clean data, for
avoiding sending duplicate information, which makes many OAuth providers fail.
tests.py have now a WHAT_TO_TEST variable.

This allows to easily test one authentication system at a time if necessary
Returning None for non set values

This should fix #GH-18
If Content-Type is not application/x-www-form-urlencoded and not using header_auth

We send data encoded in the url. This makes Twitter test `test_update_profile_image` pass,
fixing issue #GH-17
Merge remote-tracking branch 'origin/dev' into dev

Conflict was basically just the WHAT_TO_TEST commit [1].
Also using POST in test_twitter_oauth_request_token
(reverting switch to GET in last commit [2]).

[1]: 20a7a8ae tests.py have now a WHAT_TO_TEST variable.
[2]: da8a0f4d Broke tests out a little bit.

Conflicts:
	tests/tests.py
Removed the SkipTest() calls since they all work now.
Fixing Handling oauth_verifier and Token

This fixes #GH-14 and #GH-16. Breaks backwards compatibility. Token is now
a simpler object, there is no set_verifier method anymore. Instead passing
`oauth_verifier` as data parameter is needed.
Merge branch 'dev' of git://github.com/istruble/requests-oauth into istruble

Conflicts:
	tests/tests.py
Redoing test naming structure and removing advanced unittest methods

This way this package can be tested with and old unittest package and old
Python version.
Tests now run from local version, not from installed version
Adding Ian Struble to AUTHORS
fix import error in tests.py