Added some extra states to the Service, units tests for ServicesManager
written.  Status is now expected to be returned from the Service
implementation, as this is likely to be a more accurate reflection of
real status.  See #201