Use the parent id as the location for a model.
This greatly reduces the recursive work that must be done
during move operations to keep the location accurate.
Additionally, the locationService now implements a method
`persistLocation` which can be used to persist the current object
location as it's original location.
DomainObjects with a context capability also gain a LocationCapability.
This capability allows you to determine the location of the current
instance of a domain object, and also provides methods for determining
if the current instance of a domain object is a link, or if it is an
original.