Added business rules smart notifications feature.

This patch adds smart notifications to business rules based services.

By default, if a business rule state is not OK because one or more of its underlying services are failing, notifications are sent until all childs recover, or the business rule based service is acknowledged or scheduled downtime.

Acknowledging or scheduling downtime a business rule based service may be an issue, because if new sons fail, you won't be notified at all. If you don't do so, you'll be flooded by alerts, even if all underlying problems are acknowledged.

With smart notifications enabled, if all the failing underlying services are acknowledged or scheduled downtime, no more problem notifications are sent: all problems are considered seen, and it is not useful to continue to alert about them. If a new son fails and is not acknowledged or scheduled downtime, the notifications are re-enabled until the new problem is acknowledged or scheduled downtime.

To enable smart notifications, set the `business_rule_smart_notifications` to `1` on the corresponding service (or a template it uses). For compatibility purpose, the smart notifications are disabled by default.