Add test suite

Add a test suite covering nearly everything, only the Fleet::Controller private methods are not tested.