Try to recognize mal-formed numbers.

Also includes some minor comment and layout fixups.

Once we have decided on a style which seems to fit all of the input
numbers, we proceed to confirm that all of the numbers (even the
ambiguous ones) make sense in this format.

So far, this means:
- Doesn't have any characters we don't understand.
- All supposed thousands breaks are followed by exactly three numbers
- If there's a decimal mark, there is only one and it never precedes a
  thousands break.

This is starting to look like something which should be in a library
somewhere.

Even better, it isn't even actually used yet, since the style-checker
happens on a whole expression instead of a term.  Someday.