Additional HTTP Status Codes

This pull request adds HTTP status codes 428 Precondition Required, 429 Too Many Requests, 431 Request Header Fields Too Large, and 511 Network Authentication Required from [Additional HTTP Status Code (RFC 6585)](http://tools.ietf.org/html/rfc6585) and 451 Unavailable For Legal Reasons from [An HTTP Status Code to Report Legal Obstacles Draft](http://tools.ietf.org/html/draft-tbray-http-legally-restricted-status-04).

The 451 status code is in separate commit since I'm not quite sure this status code should really be there, given the nature of the status code and the draft status of its specification. Let me know if you want a separate pull request without 451.

Codes taken from WebOb.