Add random functor, add scan...

 - Add random functor.
 - Add Thrust scan functions.
 - Add `square`, `plus4`, and `reduce_plus4` functors.
 - Add `make_pair` definition.