move reducedim related stuff to a separate file
move reducedim codes from array.jl to reducedim.jl
more efficient implementation of reduced_dims
Fast sum along dimensions over contiguous arrays
specialized for cases with region being an integer
some tuning of the vector kernels
allow specify the result type of sum.
allow minimum and maximum over a subvector
apply the new reduction framework to maximum & minimum
apply new reduction framework to prod
updates to the maximum & minimum codes
more flexible code generation functions

Now the code-gen allows generating reduction functions that may contain more than one input arrays.
Merge pull request #5294 from lindahua/dh/reducedim2

WIP: Fast implementation of reduction along dims