Add support for singular reverse_as properties

This only adds an accessor for singular reverse_as properties; no mutators.  It
seems like dealing with mutators would be ambiguous.  The is_many version
allows for addition and removal of object but not direct modification.  In the
case of a singular version deleting the object and adding a replacement might
not be expected as opposed to modifying the existing object.  Additionally, the
is_many accessors arguments are filters to the query not modifications to be
made.