Add Collection and QuerySet API

Also fix tests and refactor some more code
Update README
Add LICENSE