Refactor: scheduler: Reimplement core rule eval functions.
The core functions of pe_evaluate_rules, pe_test_rule, and
pe_test_expression have been turned into new, similarly named functions
that take a pe_rule_eval_data_t as an argument. The old ones still
exist as wrappers around the new ones.