Extend the 1.9 Sprinter to handle negative numbers in hex, octal, binary

Correctly append `..` in front of negative integers when they are formatted into hex, octal or binary (`%x`, `%X`, `%o`, `%b`) under 1.9.

This entails splitting out a couple of methods concerned with padding negative integer values into the 1.8 and 1.9-specific files.

Also remove dead code and pointless predicate methods that simply delegate to ivars.

This pull request fixes 4 RubySpecs in 1.9 and 2.0 mode.