Orders / Event handler needs some improvements

The handling of shipping/payments events is confusing.  The event handler need reworking to be clearer as to what it does.

- [x] Method for calculating totals to settle?
- [x] Validation of payment event quantities
- [x] Dynamic dispatch for event type validation?
- [x] Push some logic onto the order line models