Updated the AbstractModel.read() method to be more flexible

- Models are now searchable by fields other than ID as long as it
  uniquely identifies that model
- Uses LIMIT 1 so if there are more than 1 then it will choose
  randomly
Make a 404 not an error that needs to be logged
v0.0.21
Added ability to have joined ManyToMany data sources
v0.0.22
Removed deprecated references
Added the ability to include metadata about lists if requested

- Includes total and paging information
v0.0.24wq
Added type coercion for integer fields
Updated for resolving references
Fix for creating queries
Added support for alternative primary key fields

- The ID field is no longer special
SITE-491: Fix for bug where sub-models not getting saved with foreign key
Removing extraneous log statement
Added support for virtual fields
Handle case in AbstractModel.prototype.shouldReadFromSource where includedFields is undefined/null
Add support for IN clauses and GROUP BY
Fixed a bug in creating a model reference and enhanced support for virtual fields
Removed the limit in queriesif the limit is explicitly set to null
Fixed typo in submodel lookup process where primaryKey was spelled primarykey