Use MethodNotAllowed exception rather than UnknownHttpMethod

Raising a MethodNotAllowed exception will cause a 405 response to be
sent to the client, rather than a 500 response due to an uncaught
exception