Cleanup on the "email_chosen" state and reduce duplication of code.

@ozten, @seanmonstar or @jedp - would you guys mind giving this a review? I consolidated the code that decided how to handle transition states, I am hoping this is a little easier to follow. You guys had the most context from doing the original stuff.

No Selenium tests were changed putting this together, user facing functionality should be identical.

An ephemeral instance is open for testing: simplify-email-chosen.personatest.org

* Code that decided how to handle transition states and clear certs was sprinkled throughout the code, making it difficult to maintain.
* Move cert invalidation that happened in state.js into user.js.
* Rename user.js->checkEmailIssuer to checkForInvalidCerts
* Simplify checkForInvalidCerts
* Add more unit tests.