Ban d3.max and d3.min across the project. Close #843

Close #843.
New version of #879 

Should we have a default value of default_val be 0?  You're essentially stating it in the first case

Also why is default_val mandated in the second signature but not in the first