Exec websocket

Here's some commits that use websockets to do the shell instead of direct sockets. I've left the 'shell' command for now since it still does bash a bit better than exec. When I fix those, I'll delete the shell command.

Right now there is no muxing of stdout/stderr (I didn't see how to get it out of the pty library, although I didn't look very hard). I'll look into that as well.
I understand your point about migration (although we could use what I've proposed here by just having the target server connect to the source, instead of vice versa).

R.E. snapshots, we could expose something like `/1.0/containers/<name>/snapshots/<snapName>/rsync` to do the rsync over the websocket, if that's what you're thinking.