Refs #8509 Fixed skipping calculation and fixed other various errors

The calculation of how much was skipped was wrong as i was skipping over lines that were neither data or invalid wihtout taking note of them, a new conter was added - validRows - in order to keep track of how many valid lines there have been consecutively (data or not). This is then used instead of rowsToMatch when calculating numToSkip.

Corrected spelling of "Column" from "Collumn" in many places.

Fixed the bad line check to allow + and - as it had not been updated when they were classed as allowed leading characters

Refactored some of the unit test in order to allow the tests that don't use SaveAscii directly to access a correct absolute path.