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.
If we support multiple logins for the same network, won't we have multiple Social.FreedomNetwork objects for each login?  If thats the case then we shouldn't ensure that nobody calls login() twice on the same object.

Also what happens if login is called twice before the first one is completed?