Updated cached_property to preserve docstring of original function

Solution borrowed from http://pydanny.com/cached-property.html