Cache visitor method lookups

Slight improvement in perf when a node appears
multiple times in an expression.  Also boosts perf
in the case where the same expression is searched
repeatedly with different data.