Improve is_numeric? to be more readable and more tolerant of various inputs.

Fix indentation (tab) untidiness in tests.

Add some tests for is_numeric?()