add ipv6 field support

What I've done is copied the `NumericTokenStream`, `NumericRangeFilter`, `NumericRangeQuery` and `NumericUtils` from lucene and change those to support `BigInteger`

the term query and range query/filter are both working, but there are still other things like field data need to do

@kimchy @jpountz @dadoonet can you have a quick look just to make sure I've done the correct thing so far?

closes #3714