Changed how controllers are used/added

Also changed the name of BaseController to BaseFlightController.
We will also allow for having ground controllers, so we should
differentiate between the two.