Implement Compare_To() for RawPosting.
Change SortFieldWriter to use pointer-sized elems.

SortFieldWriter is the only subclass of SortExternal where the elements
have been anything other than pointers.  By changing it to use pointers,
we enable subsequent commits simplifying SortExternal by limiting it to
sorting pointers only.
Eliminate `width` member from SortExternal.

Remove `width` as a constructor argument and member variable from
SortExternal and its subclasses, replacing it with hard-coded
"sizeof(Obj*)" as needed.
Use object-based elements within SortFieldWriter.

Use objects rather than structs as an elements within SortFieldWriter,
harmonizing with all other subclasses of SortExternal.
Modify SortEx_Feed() argument type.

Have Feed() take an Obj* rather than void*.
Change return type for Peek() and Fetch().

Modify SortExternal and subclasses so that Peek() and Fetch return Obj*
rather than a void* which was actually Obj**.
Change type of SortEx members.

Change slice_starts and scratch to limit element types to Obj.
Change type for some SortEx private functions.

Modify some private subroutines in SortExternal to use Obj pointers
rather than byte addresses.
Change type for SortEx buffer.

Change buffer for SortExternal to an array of objects instead of
addresses.
Handle refcounting when clearing SortEx buffer.

Now that SortExternal only handles objects rather than addresses, it
makes sense to decref objects when emptying out the buffer.

This change is safe for all subclasses and incurs no performance penalty
under normal conditions -- unless something goes wrong all buffered
items will have already been consumed by the time the buffer-clearing
operation is invoked.
Move Shrink() up from PostingPool to SortExternal.

Move the Shrink method up into the parent class and generalize it by
calling Shrink() on runs.
Purge some obsolete code from SortExternal.
Rename some vars in SortExternal.

Use "buffer" instead of "cache", plus "buf_max" instead "cache_max",
etc.
Rename some methods in SortExternal.

Replace "cache" with "buffer" in a few method names.
Update SortExternal docs with new terminology.

Modify comments and docs to use "buffer" instead of "cache".
Update SortExternal docs.

Modify summary to reflect the fact that SortExternal now only sorts
objects rather than arbitrary data.