refactor numpy based reductions
refactor numpy based reductions

We now store (name, op, identity, types) as data rather than having lots of
code to explicitly define each one.

alexmojaki/blaze,ChinaQuants/blaze,nkhuyu/blaze,FrancescAlted/blaze,jdmcbr/blaze,mrocklin/blaze,scls19fr/blaze,jdmcbr/blaze,FrancescAlted/blaze,LiaoPan/blaze,ContinuumIO/blaze,cpcloud/blaze,caseyclements/blaze,FrancescAlted/blaze,cowlicks/blaze,LiaoPan/blaze,aterrel/blaze,scls19fr/blaze,ChinaQuants/blaze,dwillmer/blaze,aterrel/blaze,aterrel/blaze,dwillmer/blaze,xlhtc007/blaze,jcrist/blaze,jcrist/blaze,maxalbert/blaze,FrancescAlted/blaze,mrocklin/blaze,ContinuumIO/blaze,xlhtc007/blaze,nkhuyu/blaze,cpcloud/blaze,caseyclements/blaze,alexmojaki/blaze,cowlicks/blaze,maxalbert/blaze