removed a matcher allocation in favor of reset, changed BigInteger compare to Long, falling back to BigInteger if we get a number format exception
add ThreadLocal storage for the Matchers

ThreadLocal storage to reduce allocations. Also copied the code for split()
from Pattern to avoid allocating the Matcher.
Merge pull request #5 from TheLastPickle/2nd-pass-TLP

removed a matcher allocation in favor of reset, changed BigInteger compa...