OO interface for menu rules matching. Removed eval.

The algorithm for menu Include/Exclude rules matching was using "eval".
I replaced it by an object oriented interface.
In addition to being cleaner, this gives us a 30~40% performance improvement according to my benchmarks (using non-trivial menu files).