Testing for overflow requires an entirely different set of test
functions. The idea is to create a too-tall tree using one of the
pathological insertion orders (ascending, descending, zig-zag,
shifted ascending), then try out each of the functions that can
overflow on it and make sure that they behave as they should.

There is a separate test function for each function that can overflow a
stack but which is not tested by test(). These functions are called
by driver function test_overflow(), which also takes care of creating,
populating, and destroying the tree.