attr_* yields public methods

Please see the failing spec.
This turned up recently in a rails issue: https://github.com/rails/rails/pull/9083

I took a couple of shots fixing this by making `attr_*` private - to no avail.
I finally added a solution that checks the caller-method.