Specification improvement and bug fix to sign_request

Per the OAuth Body Hash specifications (3.2)[1], 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 when attempting to hash the body here.  
  
This commit fixes the bug while improving the specification alignment.  
  
[1]http://oauth.googlecode.com/svn/spec/ext/body_hash/1.0/oauth-bodyhash.html