log in/log out rewrite

Delete network object after logging out. related to #262
Support for multiple log in. related to #263 
Activate the tab if we already have one open and catch tab is closed #328 
Close a tab if user denies access #475 

I'll follow up with cl fixing storage state.
Honestly I don't understand why we need both. like why can't we just use "Google".

But to answer your question, we need displayName here, we use it later to create network object, see login method in core.ts.