Change implementation of cached_property to be class-based
Change implementation of cached_property to be class-based

This prevents binding additional properties to the instance and instead
replaces the value in the internal dict with the result of the first call.
chop-dbhi/django-objectset,chop-dbhi/django-objectset