Ensure Typhoeus' effective_url is recorded/played back properly.

When a request was made with the `followlocation: true`
option and the response was a redirect, `effective_url`
was being set to the wrong value on playback.

Typhoeus passes this option to libcurl, and the redirect
is followed in native curl code, rather than in rubyland;
as a result we cannot record both the redirect response
and the followed response…we just get the final followed
response. We were setting `effective_url` to the request url
but typhoeus internally sets it to the final url (after
all the redirects).  So, to play it back properly we have
to record that value.  I've added `adapter_metadata`
as a generic place to store adapter-specific metadata values
that need to be recorded.

Fixes #293.
Fix OrderedHashSerializer on 1.8.7 to work with optional adapter_metadata.
Merge pull request #338 from vcr/typhoeus_redirects

Ensure Typhoeus' effective_url is recorded/played back properly.