Fix NumericTokenStream::setDoubleValue() to use correct encoding.

The code used a simple cast to `int64_t`, which truncated the value and made searching with decimal precision impossible.  Moreover, the encoding was different from what `NumericRangeQuery` expected and search results were wrong in other situations as well.

Fix by using `NumericUtils::doubleToSortableLong()`, as both `NumericRangeQuery` and the original Java code do.