Cdodge/shopping cart rewrite

I see what you're saying.  Since it's a "business" order you don't want the 2nd class that the user added (which still has QTY=1) to be a PaidCourseRegistration, but rather a RegCodeItem.

I understand that, so that answers my question.  Though again I'd like to point out to @chrisndodge (I know it's repetitious at this point) that this sort of corner cases is why I recommended that the UX for RegCodes be explicit.