Updated to a more recent version of IdMapper/StringEncoder/ParallelSort

and made some restructuring around how to calculate radix, since there are
two versions of it, one for longs and one for strings.
Also fixed an IntArray consurrency issue where multiple threads could
change the same underlying long, even if they were actually changing two
different nearby ints. So IntArray is now only an interface on top of
LongArray.
Removed auto-detection of long/string -> long id mapping

and instead provides user option to control that. "string" is always fine,
but an advanced user can provide "long" or "actual" for certain scenarios
for some gained performance.
Merge pull request #3455 from tinwelint/2.2-bip-updated-idmapper

Updated to a more recent version of IdMapper/StringEncoder/ParallelSort