Fix logout and keep guest auth token separately
The guest authentication is no longer lost when login in with another auth provider. The token is stored separately and can be restored later.
On logout, the user's credentials are now deleted from localStorage. Previously, a user was never really logged out.
Closes: #600 (closed), #624 (closed)