Add a new HasOne Attr.
Register the new HasOne type.
Extend the right class.
Add tests for HasOne.

Closes #6