* UnitTests: Fix typename case expectations
* UnitTests: Fix two beautify3 false fails
* UnitTests: Add test for issue#43
* Introduce notion of Code Blocks to track state of indentation code
The previous approach meant that in nested indentation calls, if
code further down the stack split an input line, code further up
the stack would not update its iteration variables, leading to
duplication of some lines and removal of others.
To fix this, introduce a CodeBlock class that keeps track of nested
sub-blocks and updates all iteration variables in the call chain
if a line is being split. This also removes the need for a bunch
of parameters and return variables, so the function signatures
get a little shorter.
This fixes issue #43.