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