Deal with number checking in a better way.

It passes all of the tests, but it's still wrong.. for example, parens
will not be "numbery" and so can help numbers evade format detection.

On the upside, it's now much simpler to read and understand. Plus,
rejects queries which have been marked bad in the issues this is intended
to address.