Change the way we store relationship directions so it works for non-global records too.

Previous we would store 'relationship_target', which was the URI of the
record that a relationship pointed to.  This worked fine for global
records, but could be troublesome for repository-level records, as these
can have different URIs over their lifetime if transferred between
repositories.

Now we store a pair instead: the record type and its ID.  This should be
stable throughout a record's lifetime.
Change the new directional relationship API to be a drop-in replacement for define_relationship
Add backend implementation of hasPart/isPartOf