Add support for closure business rules

This is worthwhile because the opcodes for closures can be cached by APC but `eval()` can't, and these are very frequently run functions.