Support remote argument passing

In tandem with changes in Q to support promise.pass() and
promise.toBePassed(), this change facilitates invoking a remote method
with the resolution of a remote promise. This makes it possible to
induce remote method invocations that would otherwise only be possible
through direct manipulation.
Polish
Fix cyclic graph serialization

Support proxy functions.

Disabuse delusions that this implements four tables properly.