finished bubblesort_by, which takes a block to use as the comparison 'function'