steam-api: fixed missing sessionid upon authentication

The Steam Web API has been modified and as a result, the plugin is not
able to retrieve a sessionid. There is currently no immediate check in
place to ensure a sessionid is actually obtained. In addition, after the
account has authenticated, it is immediately logged in, and bypasses the
login check for the sessionid. Since the sessionid is not required for
every request, only some Steam Community requests are affected. When the
request fails the account is reconnected, and with the missing sessionid
the authentication process is initiated.

The patch addresses the changes to the Steam Web API as well as adds in
additional checks to ensure a sessionid is obtained. Additionally, the
account is now completely logged out and back in after authentication
to ensure there are no other silent failures in the future.