Moved ProfileSession.Login function to the nested ProfileSession.Profile class, reimplemented handling of failed logins and updated documentation