Use Thrust for GPU sort
Created by: aprokop
Draft as I need to run scaling studies from the paper on Summit to compare with original version.
Related to #145.
Note that for now, we don't do the check for Thrust, and assume that if Cuda is available, Thrust is. If we encounter situation in the future when that is not the case, we'll introduce that option.