Add test for copy() with std::stringstream

This adds a test for using std::stringstream with the
copy() algorithm.
Fix conversion warnings in buffer_iterator

This fixes conversion warnings for buffer_iterator.
Fix bug in in-place scan()

This fixes a bug when creating a temporary vector for use in the
in-place scan() algorithm. Previously, a separate command queue
was used to copy the input values to the temporary vector. Now,
the same command queue is used for copying the input values and
performing the scan.