VM: reallot_array already data_roots the array, so callers don't need to
do it too
VM: change the BIGNUM_TO_POINTER macro so that it automatically sees through tagged pointers
VM: the copy assignment operator is overloaded so you need a custom swap
VM: a lot of methods in bignum.cpp converted to use data_roots instead of gc_bignums
VM: windows bignum_gcd variant fixed
VM: bignum_new_sign, bignum_maybe_new_sign and bitnum_magnitude_ash
converted to using data_roots
VM: conversion of many more bignum.cpp methods to use data_roots instead
of gc_bignum
VM: cell -> ret
VM: Erasing the last traces of GC_BIGNUM from bignum.cpp
VM: bignum_roots traversal code deleted!
VM: adding a few forgotten .untagged() calls
VM: remove bignum_roots.clear() (snuck in during rebase)
VM: fixed bignum_divide_unsigned_large_denominator so that it wont data_root-protect NULL-pointers
VM: FACTOR_ASSERT so that data_root never wraps a null pointer, cause if it does, random crashes can happen