added support for custom request parsers

Adds customizable formatters to the web\Request class.

Addresses issue #2043 and commit 12eca516e14fba70c2394a2eb826ed27653122c8.