Changes discussed in class meeting

I've changed the Polyphase class to the ExtSortMerge class.  I realized
while working on the code that nearly every function in setting up the
files worked identically in both sort/merge algorithms.  Because of
this, I changed what we discussed in class.  There is still only a
single constructor and it requires 3 arguments (including the polyphase
bool).  I added functionality to the DistributeRunCounts method to
handle the two-way sort/merge algorithm, however, because of how it was
coded, the DistributeInitialRuns method didn't need to be changed at
all; its functionality is identical.