User Collections

Resolves #23.

Created a collectionService to provide functionality for creating and managing user collections.
Do not commit the unit of work more than once per method - generally. There should be no need to commit it in the body of the loop.