Use def.then instead of def.done (https://github.com/kriskowal/q/wiki/API-Reference#core-promise-methods).
Made all direct Model methods embrace deferreds, so we can clean up the API.
Made Model.query not accept a callback function at all, opting instead for deferreds.
Embraced deferreds in the API, returning them directly from functions and greatly shortening the code.