StringComparator uses StringValue.readString()

The StringComparator uses a mixture of static and non-static read/write methods which are not compatible with each other due to different offsets.

This PR makes sure that it only uses the static methods (similar to the StringSerializer).