Additional indexes added to cart_rule_combination table to improve performance

With a siginificant quantity of cart rules (a few hundreds / thousands), cart_rule_combination table easily grows to few millions lines. Please note that primary index is set on both numerical columns, and in effect has a size of the table itself. So for table scanning (as in CartRule::getCartRuleCombinations ), it has to read a whole table as index can have a cardinality equal to the square of the size of cart_rule table.
Adding two separated indexes (each has cardinality <= size of cart_rule) can improve the performance of  such queries (even for small dataset of 140 cart rules and 16000 cart rule combinations difference is quite visible:
190 ms and 2270000 rows scanned before, 30 ms and 29800 rows scanned after; for bigger datasets the imporovement is even bigger)