Fix for: "Sometimes learner data doesn't get saved back to the portal."

Details: Portal data (the return url) was sometimes being forgotten in
the multitude of redirects required to start the activity on the last run page.

In that case, if the user had run the activity before, the first run of the
activity by the user was used.

In this commit, we stash the portal information in a session variable until
the user is completely logged in (we log out, and then re-log-in the user).

We also delete stale session variables at logout.

We only store session response keys when the user is anonymous.

The edge cases I was aware of have disappeared.

[#50035115]
https://www.pivotaltracker.com/story/show/50035115