Honor explicit inverse names with hasMany fields

This was causing an exception when loading saved records.

EG:

```javascript
var Node = DS.Model({
  parent: DS.belongsTo('node', {inverse: 'children'}),
  children: DS.belongsTo('node', {inverse: 'parent'})
});
```

Causes an exception which describes itself as `can not find model "children"` - because it was looking up the type based on a singularized version of the key.