Make min(tuple(x, y)) and argmin(...) work as max and argmax.
close gh-1810, implement local_reduce_join optimization
Do in the gpuarray back-end the same change that was done in the cuda back-end.
Merge pull request #1811 from nouiz/opt

Opt Reduce(join())