(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)
I don't think this is entirely correct? We should be checking if there are more items left right?

```javascript
if (memberships.length === limit && indirectMemberships[startIndex + limit]) {
    nextToken = memberships[memberships.length - 1];
}
```