Turn request into a facade, make `->get`, `->post`, and `->request` work how they should

We can now do `\Request::get('get_key', $default)` and `\Request::get('deeper[get][key]', $default, true)` with `\Request::get` `\Request::post` and `\Request::request`.

Previously `\Request::get` did not match the html form method, it checked $_GET, $_POST, and the path parameters. I've moved this functionality to `\Request::query`.

Moving forward, we should drop any usage of `$_GET`, `$_POST`, or `$_REQUEST` in favor of their respective `\Request` counterparts.