Change PortableDir to use GetExecutingAssembly instead of GetEntryAssembly. The later can fail in certain types of test runner.
Add equals and hashcode to KSP.
Based on the gamedir.
Reworked KSPManager.
Extracted the registry functions to their own interface. Added tests.
Merge pull request #609 from RichardLake/KSPManager

Ksp manager rework
Small fix so we don't crash on an invalid AutoStartInstance
Catch the correct exception type and log warning
Merge pull request #628 from AlexanderDzhoganov/master

Small fix so we don't crash on an invalid AutoStartInstance
Shows the exception's message

Shows the exception's message during a generic "can't connect to the
repo" error.
Merge pull request #629 from Ippo343/master

Shows the exception's message
Testcase for the fix in 37a33
Merge pull request #635 from RichardLake/Testcase37a33

Testcase for the fix in 37a33
Run scan before install or update.

Otherwise it is possible to get into a inconsistent state.
For example if an auto detected dependency is removed.
Closes #381
CmdLine upgrade checks for auto detected mods.
Raise a nice error message instead of a null pointer exception.
Close #605
Remove default -force-opengl on Windows.
Can cause issues such as #630.
Merge pull request #637 from RichardLake/ForceGL

Remove default -force-opengl on Windows.
Fix spurious windows.forms reference.
It was coming from the existence of a GUIMod extension method in a namespace with a using system.windows.forms.
Merge pull request #636 from RichardLake/Issue605

CmdLine: Run scan before install/update, better msg on autoinstalled mods.
Adding in a mono version check.
There has been a number of issues with the solution of upgrading mono. This may help.
Adding in a delete button to the instance manager screen.
Reverting change to KSPManager.
The GUI depends on GetPreferredInstance returning null will a cleared autostart.