Rename association types to be generic, one-to-one and one-to-many

This renames the currently supported association types to be
named more generically. This is more setup for adding a `has_one`
association, which, to MR is no different than a `belongs_to`. As
far as it is concerned, they are both a `OneToOne` association and
should be treated as such. Thus, this renames `BelongsTo` to
`OneToOne` and `HasMany` to `OneToMany`.

A `BelongsTo` and `HasMany` class are still defined, but they are
no different than their parent (for now). This is mostly just
syntactic sugar (again, for now).
Add `has_one` association for `MR::Model`

This adds a `has_one` method for specifying has one associations
for a `MR::Model`. This is mostly syntactic sugar, as MR doesn't
know any difference between a `BelongsTo` and a `HasOne`. Thus,
this is mostly an expressive and intent-revealing syntax, rather
than pure function.