This contains no functional changes, except that
it will ignore blank lines when comparing code.
This reduces duplicate code, and will make it
easier to add assertions for Roslyn compilers
* Added new-lines as needed to make the source formatting match what the actual output was.
* Added code to CodeAssert to make it ignore #regions
* Added code to output decimal.MinValue and decimal.MaxValue as appropriate