Better handling of bad HTTP requests in Opera transport

Currently missing parameters and such result in 500 errors. It would be better if we returned a 400 response with a suitable error message so that people making requests to the transport can figure out what they're doing wrong.