New Regime for Addresses and VPointers

The major revisions of this pull request are:

1.  Remove the third position from v*s and Return results
2.  All objects and closures created in the interpreter directly have an address allocated for them, and a VPointer results
3.  All places in the interpreter that need to work with objects and closures fetch from a VPointer
4.  There is *never* a VPointer nested within another VPointer, which would warrant things like deep-lookup, etc.
5.  Each object gets a *unique* VPointer for its entire lifetime.  Mutations to the object are reflected by functionally updating the object at the address referred to by the VPointer.