(Collections) Initial collections work

Initial collections work.

TODO:

* Take care of some TODO's in the code
* Self-review
* Activity
* Searching collections (search permission integration is complete though)
Missing JSDocs