Add failing hasone tests
WIP: Fix hasOne infinite loop & migrate tests to mocha
Fix hasOne infinite loop
Fix shell model hasOne bug
Only mark model as dirty if a property has _really_ changed