Changed the sampling procedure to allow need-based sampling.  Rows and columns that are currently under-represented are more likely to get sampled than ones that have been more heavily sampled.

I also updated the notice at the bottom of the loop to give a more informative status update (i.e., a fixed percentage representing the total runs, and a clearer idea of how long runs have been taking.