Refactor VCR usage

These changes address the way we use VCR and fake data in our acceptance tests.

Previously we were marking features or scenarios with `@vcr` tags and recording any external interactions to cassettes. We were also heavily using fake data and in some instances testing our mocks.

These commits change the approach to using VCR so that we wrap and record all repositories and store the data they return as a cassette. Our tests then use fixtures that match what we expect to receive from the boundaries of the application. The only time we should need to use fake data is when the application boundary is yet to behave we need.

@pvcarrera @gjvis