Quickselect median

+ Changes median() implementation to quickselect
+ adds shuffle() for Array/DenseVector/DenseMatrix