Add node-client-sessions from Mozilla
Don't repeatedly call extend-tail with the same value
Require auth tokens everywhere

api-test works but is terrible. scroll-test is broken, pending some serious
refactoring because socket.io is weird. And I need better auth token and socket
management.
Add a ping request

Just to verify that our auth token is still valid. Hopefully we can detect from
the 401s elsewhere, but otherwise we can check with a ping. (The main trouble
being that socket.io neither lets us send a 401 nor reports them back. Though
perhaps we can do something terrible there.)
Fix checkAuthToken exceptions
Add a new class to manage our various API connections

Auth tokens and the socket. Also reimplement online/offline logic. Socket.IO is
weird.
Listen for offline events

Why not?
Consistently return JSON from all API endpoints
Rewrite api-test.html to use API object

Also move to a separate file to deal with Emacs.
Convenience functions
Better error messages

Or something.