Fact system V2 (plus lots of other stuff)

This pull started out as a FactSystem unit test, but it yanked on a string that had multiple boat anchors on the end of it:

- Added FactSystem unit test
- Fixed the singleton destroy/re-create problems associated with unit tests needing to destroy/re-create global state before/after every test. The previous app shutdown sequence could best be described as a "controlled crash". This required lots of little changes in many places. Still not super happy with it, but it works for unit testing.
- LinkManager and UASManager have new _shutdown method to clean up prior to the destructor.
- Unit Tests no longer scream at me.
- Changed some signals to not have multiple overrides to use goo connect syntax.
- AutoPilot plugin system now has a separate plugin instance for each UAS

FYI: There are still a couple issue with normal app boot/shutdown even though unit tests work. Pushing this now to work it's way through TC while I work through those issues.