Turn EXPR_reduce from PIR to NQP.

Most of the work was done by kboga++. Added some native types and did
some changes for the sake of performance.