Fix authentication for ActiveResource/Rails.

1. ActiveResource code path 'request_with_auth' creates a fake
Net:HTTP::Post request. api-auth signs and may add a Content-MD5
header. The caller needs to propagate the Content-MD5 header from the
fake request back into the real ActiveResource request.

2. Body of a POST request needs to be filled for the md5 to be
computed.

3. Access the body of a request with raw_post in ActionController.
Rack uses a StringIO for body. StringIO is a stream so if we read the
entire contents of body then later requests return empty strings.
Internally raw_post is rewinding the stream.
ActionController test fixed to reflect changes.

8748c20bd24f46c65207e3c3f23659ff6902cb65 is using now using request.raw_post.
Changed the test to use RAW_POST_DATA.
Remove duplication of logic across RequestDrivers classes
Remove no longer used ApiAuth.capitalize_keys method