Show useful messages on join and login

Now there will be a status displayed on joining and logging in, also if
anything goes wrong then an error will be displayed.

The error messages still needs some work to be more informative (e.g "An
error occured" is not a good error message).
Auto log in / out

This runs a function to check login status on app starting and
thereafter every ten seconds, and updating the app state on
changes. This means that a user with two tabs open will see them stay in
sync.