updating OAuth 1.0 entity-method handling to reflect spec

Previously OAuth 1.0/a was improperly implemented causing non-urlencoded body
data to be lost or worse added to the base signature string. According to the
OAuth sopecification, there are strict requirements[1] for signing against
entity-bodies.

Now we bring the `OAuth1Session` object closer to the specification
requirements by only adding the entity-body to the base string signature when
we are handed an explicit Content-Type of `x-www-form-urlencoded` and have
a so-called "entity" method, i.e. one of POST, PUT, PATCH.

[1] http://tools.ietf.org/html/rfc5849#section-3.5.2

fixes: #68
updating docstring, fixes #71
using full documentation theme to provide toc
adding changelog to docs
fix tests failure if yanc plugin is unavailable
remove bash requirement for test script

This gets a bit convoluted because PIPESTATUS is bash specific
but then bash fails on the POSIX version with a bad fd error.
So in case sh actually links to bash, both types are included.

fixes: #72
adding decoder param for parsing request and access token responses

fixes: #74
Merge pull request #75 from nyov/nyov/runtests-fix

Fix for run-tests.sh where it would fail if nosetests is missing yanc plugin
updating CHANGELOG
incrementing version; v0.5.2
ensuring we pass a string to Requests params
adding support for Bearer Authentication
adding more informative decoder error, making keys programmatically assignable
fixing pluggable signature object
Merge pull request #76 from litl/0.5.2

0.5.2