Merging the recordCache with the referenceCache

Everytime a record is created with an id, it's automatically added to the referenceCache.  We also only keep one cache of records now, instead of two places.  Records loaded from hasMany or belongsTo will also be available in the cache, and will be accessible from a find call etc.