[FIX] base_action_rule: do not force registry reload when writing on a rule unless really needed

Executing a rule always updates the `last_run` value, which would
always force a useless registry reload to occur. Only signal the
change if the rule applies to a model that was not previoulsy
monitored for base action rules.
[FIX] base_action_rule: do not repeatedly trigger already-executed rules based on time condition

A programming error introduced at rco@openerp.com-20121220142445-emzzvhlw400q37c9
fails to properly check when a rule has already been executed in the past.
Time-based rules should only be executed if the trigger date is in the past and:
 - either they never executed before
 - or the last execution date is older than the trigger date
[FIX] base_action_rule: prevent recursive rule trigger also when processing time-based rules

A safety guard already in place prevents the recursive
trigger of rules while another rule is being executed,
as a simple measure to prevent endless loops.
This guard was missing when processing time-based rules.
[FIX] base_action_rule: automatic commit during background processing of rules

This will make sure already processed rules are persisted
in case a timeout occurs while processing the next ones,
ensuring that *some* progress can be made in most cases.