Support for Request.CreateResponse and Request.CreateErrorResponse

Web API provides methods for generating error responses without throwing exception. These errors are not logged to ELMAH with the current implementation.

I have added code to handle error responses (>= 400). When logging these errors, no stacktrace is generated, because no exceptions are thrown.