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.
Merge pull request #43 from alphagov/replay_header_injection

Allow injection of additional headers in replay