Wrapper for boost::compute::exclusive_scan

@byzhang: neither version of the algorithm works though: the destination vector
remains unchanged after call to scan().

test_scan from the Boost.Compute test suite also fails, so this is probably a
bug in Boost.Compute (or a work in progress).