Add EmberCPM.Macros.product.

I'm still a little uncertain here. `quotient` and `difference` (being necessarily two-arg functions) act on two property names. `sum` acts on a single array property name. There's some inconsistency there, but I don't think we'll be able to easily eliminate it.

To me, `product` feels more like `sum` than it does like `quotient`, but that's a very vague and uncertain feeling. It mostly has to do with the similarity of ∏ and ∑.

Maybe the best solution is to go with what you have (two references) for `product` and possibly add a `naryProduct` that acts like `sum`. We could even alias the built-in `sum` as `narySum` for parallelism.