Implement Conduit-specific HTTP functionality

Use decorators, instead of baking functionality directly into the phly/http
implementation. This includes:

- Request decorator handles arbitrary properties
- Response decorator adds in write/end/isComplete methods, and the functionality
  for ensuring immutability when complete.

Updated Next, Dispatch, and FinalHandler to expect the concrete decorators.
Middleware accepts any PSR versions, but decorates them at invocation.