Fix parsing of negative numbers.
Make sure all numerical arguments to a loop are numbers.
More fixes to number parsing, add more tests.