Major reworking of SortPerf

* Now possible to easily test
  * individual/multiple algorithms
  * single or multiple data types
  * different sizes/size ranges
  * a user datatype
* Using named arguements to give control over test