Use an instance variable to track new records

The previous approach of tracking new records based on the presence of a
guid was flawed (i.e. does not work with records that do not have
GUIDs or when a GUID is set on a non-persisted record).

Instead, take the Rails approach of using an instance variable to track
if a record is new, adding a new method (:instantiate) to initialize
records that are already known to be persisted.