If one attempts to add an invalid item_code to the cart, it will add a
blank product; one without any price, name or weight. This usually
happens in developement when production tests a product page before the
product has been entered into the database.
This problem has been fixed by making sure RH::Product::new returns 'undef' when
given an invalid item_code.