Use objects for internal request and response state within Mocker.
Use objects for internal request and response state within Mocker.

This commit takes a big step towards clarifying the internal state
within the mocker. Introduce objects for the multiple pieces of
information we track about the request and response making uses
of values much clearer.

One neat piece of fallout from this is request consumption becomes
contained within the single handleRequest() method. In addition the
addition of exchanges to the timeline does not need to be a closure
within the request serializer so moves up as an assertExchange().

unexpectedjs/unexpected-mitm