[WIP] Start refactoring the rules component

I have change the rule discount into an `inputUnit` field and provide a new discount type `unit`.
With `unit` you can define somethink like `-0.5 units`, that means the discount is `0.5` of the item unit price. My problem is, that I have a scaled price, so a fixed discount amount make no sense.

Currently the most is just reformatting. No BC breaks.
Can you explain why you changed this? I remember this was some sort of strange fix for floating point rounding issues.