WIP - Untested VersionChooser Concept

Hey Jon,

Here's what I came up with for the version manager on the flight home. It's still completely untested because I  haven't finished setting up ``conda install psychopy`` and don't have a working psychopy version on this loaner laptop, but I thought I'd pass it along in the current state anyway. Thoughts? Does the sequence of events make sense? How about the names "VersionChooser" instead of "VersionManager", make sense or should we tweak them? Happy to change anything at this point.

We still need to make the following decisions:

* Do we have one repo that gets checked out every time the version changes? Or download new flat copies for each new version? Current implementation is confused about that and does both. :) 

* Default behavior of builder: write version on create, or not?

* Edge case: If the current version is specified, but git is not installed, should this should work? The unexpected behavior would be if on next update we'd get trouble because an older version would be requested but the default system version would be newer.

* updates system gui: Do we keep doing them?

* How to handle psychopy builder/coder - close and reinit depending on the script? If useVersion changes do we save and reopen coder view itself? Builder itself?