Add Session.OpenActiveSession() that takes permissions

I noticed when a using a similar bit of code to the SessionLoginSample if the user canceled the login and then tried to do the login again, the openActiveSession() call would not preserve the permissions.