Relax restrictions on HTTP methods in WebSocketHandler.

Methods like set_status are now disallowed once the websocket handshake
has begun, but may be used before then.  This applies to application
overrides of prepare() and to WebSocketHandler.get's internal error
handling.

Closes #1065.
Rename HTTP{In,Out}putException to HTTP{In,Out}putError.

This follows the standard python naming convention for exceptions.
Introduce IOLoop.spawn_callback.

This makes it easier and more discoverable to run a callback without
stack_context.

Closes #867.