Start Selenium when watching files for *all* tests
Stop app when e2e test setup fails
Use $timeout instead of $interval to poll server for messages.

This allows for calling the function only once a response has been received for the last request.
Move message polling mechanism from controller to service

This allows for a cleaner separation of concerns and introduces an API more suitable for WebSockets.
Test that a new user sees already existing messages