Enable bindings to declare order dependencies

Allow binding handlers to declare order dependencies and modify the order of evaluation in a minimal way that respects the ordering rules. Enhance built-in bindings to declare order dependencies and remove any obsolete order-bug-workaround code.

The represents item 2 (and some of item 1) in #552.