Fixed HasOne and Belongs to mapping for keys with different names

Turns out that mapping for DomainObjects with foreign keys that aren't
named the same as primary keys. For instance SecretIdentity.heroid =>
Hero.id.

This is a symptom of the horribly counter-intuitive relationship
declaration syntax. Will look to fix this in v2.

This fixes #105, thanks for your patience @bjornpost.