Fixed a minor bug in vex::Reductor

Initial value for unsigned types was wrong.

See #82
Make size check in permutation more intelligent

Process a corner case with zero-sized expressions (See #82).
max(ulong,ulong) does not compile on CUDA

Replace it with (a > b ? a : b) in the reductor code.