Fix BOOST_COMPUTE_FUNCTION() with non-default-constructible types
Add buffer::clone() method