Optimized macro based business rules expansion

If a business rule has macros, only re-evaluate it if the macro was
modulated (the business rule expresson really changed).
Merge pull request #1013 from geektophe/bp_rule_macro_expand_optimization

Optimized macro based business rules expansion