Create decorators for Conduit-specific HTTP functionality

This PR creates HTTP request and response decorators for functionality specific to Conduit. The functionality includes:

- Request objects should allow arbitrary property access.
- Response objects should implement `write()`, `end()`, and `isComplete()`.

Essentially, this allows using any arbitrary PSR HTTP implementation; `Middleware` then decorates those instances before doing its work, ensuring that its own functionality can be met (e.g., `originalUrl` in the request, `end()` in the response, etc.).