Add support for primary foreign keys
This commit adds support for foreign keys that are also primary keys, the preferred means of representing one-to-zero-or-one relationships between model classes. (The alternative representation wastes a column and an index.) This kind relationship is common in modeling schemes for inheritance or extension semantics.
