Assert model type is string in DS.belongsTo() and DS.hasMany()

Fixes #2525 
Does that imply the risk of users not getting the warning at the right time/at all during development?

I'm happy to do the change, I just want to make sure _detailed error message_ vs. _at the right time_ is considered?