Do not query other side of product if one side is zero
Closes #100 (closed)
This MR rewrites product_by_order
:
- No longer query the other side of a product if one side is zero
- Check whether a value is already evaluated before deciding which side to check for zero first
- No more need for
exclude_last