Merge integer field data implementations.

This commit merges field data implementations for byte, short, int and long
data into PackedArrayAtomicFieldData which uses Lucene's PackedInts API to
store data.

I wrote a small benchmarking utility: LongFieldDataBenchmark, included in the
commit, to make sure that this patch didn't make field data larger or slower to load.
It reported similar loading times and memory usage reduction was between 0%
when values were hardly compressible (random) and/or ordinals took most of the
space and 50% for the single-valued case when Lucene's packed ints allow for
better compression than byte-aligned storage.