Discount distribution

Total discount amount is now distributed over all discount lines in a
similar fashion as when done over items: to make sure that the full
amount is distributed while minimizing rounding error.

Also added `Cart.totalGrossVatAmount` and `DiscountLine.effectiveDiscountAmount`

ping @xiaodong-izettle, @MrShish  or @puj 

This change makes this package contain everything vital for us to be able to use it in other projects as far as I can see.

Also: Suggestions for clearer naming convention (especially on the main Cart object) are welcome!