Ensure `Record#$set(attrs)` only attempts set on {Objects}
Add query flight methods to Record

Specifically:

 - .query()   : Query delegate that sets up `preflight()`
 - .fetch()   : Retrieve the current record data
 - .create()  : Save a new record
 - .save()    : Save record data
 - .destroy() : Remove a record