Add parent foreign key to Data- Context, View, and Query

This adds an optional reference to the "parent" of the instance. If the contents of the instance was originally derived from some other instance,
this is the means of tracking this information.

The one caveat to this is that if the parent is deleted, the reference
will be gone. This loss is unlikely to matter in practice, however it is
being noted here.

Fix #130