Add additional Product attributes for POS
This PR adds additional fields to the Product
class in order to support point-of-sale.
I also introduce other types than string
in the class. The most notable is the use of the Money\Money library for safe handling of currency.
Integration test fails for these changes, which I have a note out to @lloyd-carter about.