initial take on promises
Basic infrastructure for terminal page
Terminal basically working

Still need to deal with things like authentication
Multiple terminals and conditional initialisation
Initial REST API for terminals
Add authentication for terminal websockets
Put terminal handlers under base_url
Don't load html.terminal for tests if terminado not installed
Use relative URL for redirect in NewTerminalHandler
Add term.js to package data for installation.
recompute dummy size dynamically + styling in css
HTML fix
Add mention of terminals in whatsnew
Add comment explaining 1.02 factor
Move terminal CSS into LESS file
Compatibility fix for Tornado 3.x
Remove override.css from the template
Update components to master AGAIN. Sodding git submodules
make pretty.max_seq_length configurable

via PlainTextFormatter.max_seq_length
debugging websocket connections

- add debug statement at the very beginning of a web socket request
- add debug statement in open, indicating that the connection has been accepted
- add timeout, so failed or slow kernel_info doesn't cause the request to never get a response
- don't send kernel_info_request before authenticating the request

The last one required some icky coroutine shenanigans,
because of our subclass structure, but it should work fine.