Default to quantity 1 in `order.contents.add`

So I find myself many times writing `order.contents.add(variant, 1)` which makes me wonder why couldn't we have quantity default to 1 so we can do `order.contents.add(variant)`?

did a little bit of refactoring in OrderContents internals as well