Introduce support for CUDA streams
Need to downcast exec with derived_cast before calling stream().
Use cudaMemcpyAsync inside trivial_copy's implementation. For now, all host <-> device copies happen on stream 0
Add simple_cuda_streams example.
Eliminate superfluous <iostream>
Merge branch 'master' of github.com:jaredhoberock/thrust into streams
Launch radix sort kernels on the execution policy's stream
Merge branch 'master' of github.com:jaredhoberock/thrust into streams
Merge branch 'master' of github.com:jaredhoberock/thrust into streams

Conflicts:
	testing/backend/cuda/block/inclusive_scan.cu
	thrust/system/cuda/detail/detail/launch_closure.inl
Streamify reduce_by_key
Use guarded_cuda_runtime_api.h instead of cuda_runtime_api.h
Add unit tests for streamified algorithms
Make the test sizes for TestMergeDeviceSeq & TestMergeByKeyDeviceSeq smaller.

Fixes #477
Merge pull request #478 from jaredhoberock/issue-477

Make the test sizes for TestMergeDeviceSeq & TestMergeByKeyDeviceSeq sma...
Workaround error related to volatile
Early exit functors if concurrency does not exist
Add example code for using CUDA streams.
Merge pull request #479 from jaredhoberock/streams

Streams