Add copy of CUB ca. v1.3.1
Remove B40C code
Implement CUDA's stable_radix_sort & stable_radix_sort_by_key with CUB
Eliminate the indirection that stable_radix_sort_by_key was doing
Eliminate all the tests for testing sorts on unaligned arrays

None of these tests were actually testing what they claimed to test.
Instead they were testing we could sort beginning at an offset not
returned by cudaMalloc, but these offsets were always aligned in these
tests. It's not worth testing that we can execute algorithms on data
beginning at pointers not returned by an allocation -- we do that all
the time.
Tweak CUB's #include configuration
Refer to cub with just cub_
Avoid -Wmaybe-used-uninitialized warnings
USE __BULK_HAS_CUDART__ instead of CUB_CDP in stable_radix_sort.inl
Use .selector instead of .Current() when deciding whether a final copy
is necessary
Correct the way stable_primitive_sort is implemented for bool
Fix tests which called detail functions whose signatures have changed
Avoid -Wmaybe-uninitialized warning
Reduce the size of the pair sorts which get invoked from __device__ code
Support device linking on Windows
Merge pull request #529 from jaredhoberock/radix_sort

Radix sort improvements