Rewrite `Row` to use `WeakMap`s for private data storage.
Revert `WeakMap` additions; use property descriptors instead.

Node will only expose the `WeakMap` constructor if the process is started with the
`--harmony_collections` flag, which is an unreasonable requirement to impose on
downstream consumers.