Iterative flat printing
Adding explicit Tail class to capture unprinted trees
Printing with nulls
Removing recursive printing
Fixing bug in reverse_and_reduce on null, adding more tests