Added has many LineItems to Product and Cart and added hook to ensure product can'r be destroyed if in a line item - i.e. in a cart