middleware: Implement proxy URI paths to RPC methods (#859)

* middleware: Proxy `GET /path` requests to internal methods

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* middleware: Modify the response for proxies

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* examples: Add `ProxyRequestLayer` example for URI redirection

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* http: Remove internal Health API

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* middleware: Replace `ResponseFuture` with pinning

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* middleware: Use `Uri::from_static` and `RequestSer` for body message

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* middleware: Use `Arc<str>` instead of `String`

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Rename `ProxyRequest` to `ProxyGetRequest` and rename mod to `middleware`

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* middleware: Improve docs

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* middleware: Fail if path does not start with `/`

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* http-server: Remove pin project dependency

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Rename `proxy_request.rs` to `proxy_get_request.rs`

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
5 jobs for master in 5 minutes and 16 seconds (queued for 2 seconds)