[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.
I hit this point. With a string I got other strange rounding issues... O.o
This may be a general floating point issue, it does not really matter if you cast it to string or float. But PHP seems to go crazy when you do `float * string` (shall cast the string into float) or `string * float` (shall cast the float into string, and then cast both into float).
But I'm absolutely not sure, why exactly I changed this.