Refactor: scheduler: pass next_change up when testing expressions and rules
This adds a new pe_test_expression() that obsoletes pe_test_expression_full()
and pe_test_rule() that obsoletes pe_test_rule_full() (though I did consider
naming them pe_test_*_fuller()).
The new functions take a next_change parameter that gets passed along and back
when checking date expressions.