Make cached_property act like builtin property

* cached_property cannot not be set as if it were an attribute
* inspect will treat cached_property as a subclass of the builtin
property
* Fixes issue #616