hasOne association always returns a hasOneProxy

Make this API more consistent, like #891 (to close #1096)