Method Not Allowed errors
=========================

If we get a request with a method that does not have a corresponding
view,  HTTP 405 Method Not Allowed response is returned:

  >>> print http(r"""
  ... FROG / HTTP/1.1
  ... """)
  HTTP/1.1 405 Method Not Allowed
  Allow: DELETE, MKCOL, OPTIONS, PROPFIND, PROPPATCH, PUT
  Content-Length: 18
  <BLANKLINE>
  Method Not Allowed

  >>> print http(r"""
  ... DELETE / HTTP/1.1
  ... Authorization: Basic mgr:mgrpw
  ... """)
  HTTP/1.1 405 Method Not Allowed
  ...

The request below should return 405, but instead crashes with a TypeError,
when the view tries to adapt context to IWriteFile.

#   >>> print http(r"""
#   ... PUT / HTTP/1.1
#   ... Authorization: Basic mgr:mgrpw
#   ... """, handle_errors=False)
#   HTTP/1.1 405 Method Not Allowed
#   ...
