implements quick_sort
* quick_sort works as follows:
** shuffle original array
** working from lowest position + 1 and highest position - 1 do the following:
*** move "left-hand" pointer up until element is no longer less than element 0
*** move "right-hand pointer down until element 0 is no longer less than it
*** check to see if "left-hand" and "right-hand" pointers have crossed
**** if not, swap "left-hand" and "right-hand" pointers and continue inwards
**** if so, swap "right-hand" pointer and element 0 and recurse on the two newly sorted arraysto either side of "right-hand" pointer
README and speed_test now include quick_sort
* also clarifies speed_test instructions