Here a first preview patch.
NumericUtils still contains lots of unused String-based methods, I think we should remove them, the class is expert-only and also experimental. Backwards compatibility is broken even with those backwards layers (as the split functions were changed to use BytesRefs. Also these backwards methods are simply slow now (as the byte is copied to char and vice-versa).
The new NumericTokenStream now uses a special NumericTermAttribute, so possibly Filters coming later have access to shift value and so on. This attribute also implements the TermToBytesRefAttribute for the indexer. Please note: This attribute is a hack and does not support copyTo/clone/...., so you cannot put away tokens (which is not needed), but its still possible to add further attributes to numeric tokens (which is why the attribute is there).
The NumericTokenStream backwards test was removed, because the new stream does no longer contain a TermAttribute, so the test always fails.
TODO: A better inline-hashCode generation for the numeric-to-BytesRef transformation