Let hasproperty push the value of the property on the stack if it exists.

This lets us avoid calling getproperty in the most common case of:

    if (hasproperty) { getproperty(); do stuff }
Maintain order of property enumeration by keeping a linked list.

Match behaviour with other JS implementations.