Replaces sbt AJAX calls with web socket. Also some refactoring of code.

should we try to stick to the convention that if it returns a deferred it has Deferred in the method name?

I actually think it'd be fine to just always return a deferred. People can ignore it if they want? It's a drop in our performance bucket.