Incorporated Toby's changes, restructured pricing object

I incorporated changes to error checking and I restructured the pricing
object (and made the necessary changes in `getPrice.js` and
`priceCalculator.js`) so that it is possible to have different
variations for each printer type.