Added device_vector iterators to reduce_by_key; added test cases; reduce_by_key works with offsets now