Fixed issue #362 - Unhandled HTTP Exceptions returning HTML instead of JSON

I have implemented a fix that forces all unhandled exceptions to be converted into a JSON response. Previously the framework was returning unwanted HTML responses which could potentially break RESTful clients expecting a JSON formatted response.

```
HTTP/1.0 404 NOT FOUND
Content-Type: text/html
Content-Length: 233
Server: Werkzeug/0.9.6 Python/3.4.2
Date: Fri, 17 Oct 2014 17:20:57 GMT

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>404 Not Found</title>
<h1>Not Found</h1>
<p>The requested URL was not found on the server.  If you entered the URL manually please check your spelling and try again.</p>
```

```
HTTP/1.0 405 METHOD NOT ALLOWED
Content-Type: text/html
Allow: POST, OPTIONS
Content-Length: 178
Server: Werkzeug/0.9.6 Python/3.4.2
Date: Fri, 17 Oct 2014 17:23:01 GMT

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>405 Method Not Allowed</title>
<h1>Method Not Allowed</h1>
<p>The method is not allowed for the requested URL.</p>
```

After this fix now all exceptions are returned in JSON format as shown below.

```
HTTP/1.0 404 NOT FOUND
Content-Type: application/json
Content-Length: 33
Server: Werkzeug/0.9.6 Python/3.4.2
Date: Fri, 17 Oct 2014 17:25:43 GMT

{
  "message": "404: Not Found"
}
```

```
HTTP/1.0 405 METHOD NOT ALLOWED
Content-Type: application/json
Content-Length: 42
Allow: OPTIONS, POST
Server: Werkzeug/0.9.6 Python/3.4.2
Date: Fri, 17 Oct 2014 17:25:01 GMT

{
  "message": "405: Method Not Allowed"
}
```
No need to iterate over all headers just to find a single one.

Something like

    exception_headers = ex.get_response().headers
    if 'Allow' in exception_headers:
        response.headers['Allow'] = exception_headers['Allow']

Although I'm not sure why you aren't copying *all* headers, other than the ones created by `jsonify`?