Added SadSDK, switched to new `Target` format.

Functionality that had previously sat in the main SadCL, things like Target, TargetManager, and other classes that were used all over the place have now been moved into their own solution, SadSDK. Inside SadSDK there are currently 2 projects:

1. TargetBase
2. TargetFileIO

`TargetBase` is a namespace containing both `Target` and `OldTarget`, as well as a class `TargetConverter` for converting from old-to-new. `Target` is a new version of the original class we've been using, now called `OldTarget`. They're just different enough to make re-factoring to the new Target format a pain. Code that was coupled to the old style Target, things like TargetFactory and TargetManager, have not been re-written. They still produce the old-style Targets (`OldTarget`), but they are now converted into the new `Target` class immediately after creation.

TargetFileIO is all the classes for loading targets from a file on disk. They've been converted over to use the new `Target` class, and their functionality has been pruned so only the parts actually being used are still there.

Additionally, the GUI has been re-written to handle the new Targets. That part wasn't hard.

Finally, I also fixed a small bug I noticed where if you didn't have any Target selected and you clicked the "Fire" button, the program would crash. That's fixed now.