Rearranged KSP.cs to make it easier to read and navigate

- Added #regions
- Condensed properties
- Added comments
- Grouped similar methods together

Actual code changes:

- Some methods are more private than they were before.
- We throw a `NotKSPDirKraken` where we used to throw a
  `BadVersionException` before.
- `BadVersionExceptions` were never processed by anything, and have been
  removed.
Merge pull request #324 from pjf/ksp_cs_refactor

Make KSP.cs a nicer place to work.