Wrong cartItem returned in event if newness is true

If `newness` is true, the cartItem returned in the event is always the first matching cart item, and not the newest one.

Additionally, if `newness` *and* `append` are true, the first matching cart item quantity is changed !

`newness` is not really an explicit term. Maybe `addAsNewCartItem` would be better ?