Added error reporting to beanstalk calls.

The error reporting is working, but we are still seeing the odd
behavior.
Separated the beanstalk stuff from socket server.

The processing was completely incorrect before. With the beanstalk
reserve being handled within the WebSocket connection handler meant
that multiple clients wouldn't work as expected (all clients wouldn't
get all the messages), plus there were some race conditions that
pretty much stopped the thing from working when a browser refreshed
(one connection closed, one opened).

The result is much simpler and more understandable.