Allow Unknown to be used inside intermediate.

Need to declare it above the imports in intermediate so that the
submodules of intermediate can use it.
QuickObject utility class.

This class allows the quick creation of ad-hoc objects with arbitrary
attributes. This is handy for implementing ad-hoc interfaces. Uses of this
should later be replaced with concrete classes, once the requirements are
clearer.
Basic get_result_type for BinaryOperation.
Skeleton boolean type.
is_less_than implementation for UnknownSizeInteger.