comparator which takes two strings and puts them in an order
with special rules for numbers (whole number) to be placed in numeric order;
e.g. "10">"9", including when those numbers occur in the midst of equal text; e.g. "a10" > "a9";
but not if the text differs; e.g. "a10" < "b9"
class is thread-safe. nulls not supported. (to support nulls, wrap in guava:
Ordering.from(NaturalOrderComparator.INSTANCE).nullsFirst()
)
NOTE: decimals are treated like a word-split, not a decimal point, i.e. 1.9 < 1.10