Resolve #61 - Where possible, the LocalRequestDispatcher handles exceptions

Now, when a RequestHandler's Handle method throws an exception, provided that
the 'Response' type to be returned possesses a constructor that takes a
'System.Exception' instance, the request handler automatically instantiates the
request using the exception that is caught.  This way, request handlers do not
need to worry about catching exceptions and returning an error response, since
this will be done by the dispatcher if possible.

* Where it is not possible to instantiate the response appropriately, the
  request dispatcher will continue to throw RequestDispatchException, as it did
  before.