Fix https://github.com/julianhyde/optiq/issues/263, "Add operand type that will cause a rule to fire when a new subset is created".

Tune planner internals:
* Store rule operands in a map by RelNode class, so we don't have to scan all operands.
* Disable unused planning phases.