Added FST based FieldData implementation holding all data in a per segment FST.
This commit factors our a common API for BytesValues based impl to shared code and reduce code duplication.
Refactor BytesValues to be reused as the interface for HashedBytesValues and remove HashBytesValues.
Remove getValues from numeric and string field data & clean up geo field data
clean-up long values
clean-up double values
remove StringValues in favor of BytesValues
optimize matcher reset to not create unnecessary string objects
remove Bytes.java in favor of BytesRef / ArrayUtils
remove dead code
Cut over to IntsRef in favor of IntsArrayRef