Terminallist in applauncher

Added a list of active CPU's to the applauncher panel, and lets you open/close their terminals.

The list updates automatically because kOSProcessor now maintains this inside itself:
```
        private static List<kOSProcessor> allMyInstances;
```
It knows when to add instances of itself to the list and when to remove them, based on hooks on KSP events for when the PartModule is initialized, and when the Part is destroyed or unloaded onto rails.

When the CPU part is unloaded because the ship goes entirely on rails, that PartModule is removed from that list.


You can get a copy of the list publicly with this:
```
    List<kOSProcessor> allOfThem = kOSProcessor.AllInstances();
```
But note, it *IS* a copy.  If you expect it to change you need to re-get it regularly.  This is because I didn't want to expose it as a direct reference publicly because that means you could remove or add things to it from outside and thus confuse its internal accounting of the list.

The applauncher panel now renders this list, as follows:
- Sort by vessel name (actually kOSProcessor.AllInstances() does this sorting work for you).
- Within each vessel, list each part that has a kOSProcessor PartModule on it.
- With each kOSProcessor part in the list, give it a button to open/close its terminal *and power it on/off, although I'm having second thoughts about that.

The panel is scrollable if the list of nearby ships and CPUs gets excessively long.

This is an example of using my wrapper around GUILayout.BeginVertical().  If you want to debug changes to this, you insert a string in the Begin, like so:
```CountBeginVertical("test1");```
and then the same string in the ender below that you *thought* was matched up to it, like so:
```CountEndVertical("test1");```
If you were correct that they are the same and the nesting between them is correct, then the Debug.Log will print their nesting levels out and you should see them having the same number.  If their numbers differ, then you screwed up the nesting somewhere.

I found this was necessary to diagnose some problems I was having with GUILayout logic in my own code.