Update TypeScript definitions
Allow shell models with multiple keys
Make hasMany.addAccessor callback(err, items)
Fix custom index reference column names
Make custom id assume isNew

If a new instance of a model is created which uses a custom ID (e.g.
username) then it will be assumed to be a new instance (not referencing
an existing DB object) since it is common in this use case for the ID to
be provided for new objects.
Make most errors have a model property

Should ease tracing of model errors
Add retry functionality for troublesome tests
Make SQLite failing tests use retry functionality