Reimplemented @cached_property

- optimized a lot
- support del
- do not clutter object with _name

Implementation borrowed from Django and tweaked to mimic simple
@property.