Change the interface for implementation to be in line with REST

This PR changes the ContentTypeService to be in line with REST specification.

ContentTypes are linked with ContentTypeGroups per status (DEFINED, DRAFT, MODIFIED).
As REST provides only resource for linking published types to a group, this changes the following:
* group can be assigned and unassigned only from published types
* type can be created only in one group

An alternative to this is changing the REST spec. to include list of groups in create payload and a resource to adding groups to the type in status draft.

If accepted the remaining todos are:

- [ ] update core ContentTypeService implementation
- [ ] update REST client ContentTypeService implementation
- [ ] update the tests