Cleaning up D2::Core::Request

This PR replaces various parts with the implementation of `Plack::Request`.

It's using a lexical variable to hold it so it won't be overridden or played with.

I want to add a few more bits:
* Rebase this on top of the `fix/path` branch (PR #752) once that gets accepted.
* Replace more bits (especially building the body, cookies, uploads, etc.)