objects: Recreate DoubleObject and IntObject.

This version correctly promotes integer arguments to double methods when
required. It also promotes some integer methods to use doubles when given
double arguments.

Some additional methods will be added to DoubleObject in the future, but this
is sufficient for the here and now.

Several bad old imports have been cleaned up.

Signed-off-by: Corbin Simpson <cds@corbinsimpson.com> <simpsoco@google.com>
objects: Introduce references and promises.

This augments Typhon's reference system to include promises, and improves
several of the unwrapping helpers to comprehend near references.

I apologize for the size of this patch. Hey, it could be worse; I managed to
split out the vats, at least.

Signed-off-by: Corbin Simpson <cds@corbinsimpson.com> <simpsoco@google.com>