Many refactoring, see below...
* Accessors to "to-one" are now implemented in the owning class,
  and removed from reference<T>, where they initially were implemented as "operator ()"
* Added macro for "to-one" member declaration
* Added macro for "to-one" accessors implementation (get/set).
=> all this stuff aims to prepare "join expressions" impl. (see issue #19)