Allow min/max to be used as high order functions

Right now d3.min and d3.min require a little extra work if you have nested arrays. This PR requires that the second argument to these functions be a function, before it is called as an accessor.  This allows you to do things like `twoLevelArray.map(d3.min)` or `d3.min(twoLevelArray,d3.max)`.