Added a toast when the client has lost communication with the realtime server

Once we've failed 5 consecutive times to communicate with the realtime server the user will need to reload the page to make sure we are in sync
Reworked our login screen

Detection of user not being logged in is now handled by python, this is a much tidier approach

- Fixed CSS issues
- Added login to the grunt tasks
- Removed unnecessary cookie code from the helpers class
- Tidied and fixed JSLint issues
- Added requirejs module for login