Encapsulate serializer logic
Start using the serializer in the Cassette
Start actively using Serializers
Update serializers. Use Proxy to handle files.

The Proxy will do all the heavy lifting to handle the file stuff and passes
the responsibility for serializing/deserializing the data itself to the
Serializer classes.
Start re-writing the cassette module
Start testing out NewCassette
Add `save_interaction` to NewCassette

- Remove unnecessary parameters to serialize_{response,prepared_request}
  functions
- Record mode integration tests are now passing
Fix placeholder integration test
Change how we set options on the Cassette

- Change when we determine the ability to serialize data as well
Use NewCassette for now
WIP: Transition tests to use NewCassette
Handle and test both ways of deserializing a response
TestCassette tests pass
Fix up TestSerialization tests
Fix typo and use proper test data
Remove old code
Remove NewCassette
Last bunch of updates

- TODO: Update TestInteraction#test_deserialized_response
Clean up TestInteraction tests
 Merge branch 'rewrite' into 'master'