Specification improvement and bug fix to sign_request

Per the [OAuth Body Hash specifications](http://oauth.googlecode.com/svn/spec/ext/body_hash/1.0/oauth-bodyhash.html) (3.2), if there is no body entity, then the hash should be done over the empty string.  
  
Also, when `httplib2` handles a redirect, the follow is performed with `None` as the request body. This causes a TypeError to be thrown here when attempting to hash the body.  
  
This commit prevents the TypeError, while improving the specification alignment. 
"Win, win, win." -Michael Scott

-----
Should fix issue #112
Should close pull #113