feat(*): user login with HTTP Basic Authentication.

#1 
I think we can avoid this part, and make sure that user.getProfile() always returns the localStorage value (i.e. prevent adding another "caching" system on top of local storage).