This PR also includes some general cleanup items - file I/O is now restricted to main.cpp, and the old main_* files have been removed (their behavior is fully replicated by main.cpp + input files).
There's currently a bug in the read_grid_layout_from_stream method which causes trailing whitespace to break the grid input. Working on a fix, will include it in this PR.
This PR also includes some general cleanup items - file I/O is now restricted to main.cpp, and the old main_* files have been removed (their behavior is fully replicated by main.cpp + input files).