Allow custom Request/Response types

See commentary at https://github.com/racker/falcon/pull/256
Allow custom context types

In combination with the previous commit adding request_type to falcon.API,
this will allow users to extend Request (and use it) to provide a custom
class for ``context`` that could be more functional or performant than the
default dict value.

See commentary at https://github.com/racker/falcon/pull/256