property cacheing

Cache accessed properties on the object that accessed them. Added fast path to @ that doesn't need to create a queue.

Behavior of object will not be correct if its :proto (or that of its parents) is modified.