Merge pull request #44 from alphagov/run_all_tests

Run all tests + fix failing ES test
Allow injection of additional headers in replay

Similar to curl(1) and siege(1):

- Can be specified multiple times.
- Will overwrite headers of the same key name in the original request.
- An argument without a value (`Foo:`) will be set as empty.
- Leading and trailing whitespace will be stripped from the key and value,
  otherwise it's difficult to determine where the key or value begin/end.
Unit test the parsing of -header arguments

Per the features described in the preceding commit.
Integration test for header injection

Re-using one of the existing integration tests. If we were to refactor some
of the logic to send and receieve a single request then it would make sense
to split this, and the cookie validation, out to separate test cases.