Decouple verified/payment A/B test setup

This PR allows users to enter or leave the experimental flow using GET parameters.  The A/B test will need to do the following for the experimental group:

1) Check whether the user is in the experimental group and is on the "choose track" page or student dashboard.

2) Check that the `?separate-verified` flag is not already set

If both (1) and (2) are true, reload the page with `?separate-verified=1`.  This will set a session variable that allows downstream views to check whether the user is in the experimental track.  We need to use a session var because users may return to flow from the payment gateway (CyberSource), and we need to know whether they're in the experimental track.

For testing purposes, I've also added a GET param to clear the session var.  You can use `?disable-separate-verified=1` on either the dashboard or "choose track" page to disable the experiment.

@stephensanchez please review.
This is a really unfortunate hack.  Please see the long comment in `shoppingcart/models.py` before judging this too harshly :)