Allow collections to be created
This splits the actions for collections and fragments into separate files, and adds actions for creating/updating/patching/deleting collections (not all of which are implemented on the backend yet).
The code is essentially duplicated from the fragment actions. As with fragments, the request status isn't handled anywhere yet, apart from updating the state on success.