Wrote more Datatype tests.

Note to self: in Java, class-level default values for variable
declarations are resolved *after* the class's constructor is called. Do
not declare default values if you intend for those variables to be
mutated during construction!

Case-in-point: The BoundedArrayDatatype class declared a default value
of 1 for its "length" member. Even when another value was successfully
set using the "argument_map" mechanism all Datatype subclasses hook
into, that value would be overwritten back to 1 because the default
value for "length" was declared. So much for the principle of least
surprise!