ChangeSources: implement the resource type in terms of the new data interfaces

This is modelled fairly closely to the Schedulers changes.

I've gone through all the CS classes and:

 - add a 'name' parameter, and generate one if it's not explicitly set. These will be used to 'claim' the CS for a particular master, so it needs to be meaningful in all cases.
 - use activate/deactivate to start and stop the CS. Usually this means just changing startService/stopService to activate/deactivate
ChangeSourceData: Address review comments