Drop "value field", make "sort fields" abstract

1. Drop pointless value field. It just doesn't make sense to have a single value field. Think of a LatLong value. It's stored in two numeric columns. You need both to get the full value. Why should we store the exact same a second time in a serialized string or something?
2. Make sort fields non-optional. Required now since it can't just reuse the value field any more. Same reasoning.
3. Default equality field to `'hash'`. So it fits the equality value which also defaults to `getHash`.