drop testing of obsolete versions of Ruby
minor refactoring/formatting
Extract number parsing to its own class, tighten up API