Throw 500 instead of 400 for invalidated requiests.

Makes error reporting simpler for typical clients. Also responds with a nice message indicating which field is missing.