First commit with most of the API, and API docs & tests for collections.