Add a range function that finds maximum & minimum in a single pass

I think getting both minimum & maximum is pretty common in practice.

The implementation is tested. 

The only issue is the naming. @StefanKarpinski suggests using ``range`` instead of ``minmax`` [here](https://github.com/JuliaStats/Stats.jl/issues/31). I am fine with either way though.