add SortingBufferedOutput class
add generic external memory sorting and test program