Improve error handling
setModel creates a new model if passed the constructor
Improve collection management
Only set scalar if not pivot and has changed
Simplify saveModel
Fix issue with setModel race conditions
Fix weird edge-case with fetched nested models not populating
Fix typeof error message
isModel shouldn't pass as isCollection
When fetching actual model in setModel, override supplied one
Remove redundant return
setHasMany uses model.related instead of variable