compile template method on first use instead of eval'ing
compile template method on first use instead of eval'ing

When we added method compilation through unbound method we put this
in place because it sped up some benchmarks IIRC. But it means we
have to maintain two evaluation systems and hides issues with the
compiled approach in tests since most templates are run only once.

/cc @judofyr

makevoid/tilt,mitchellhenke/tilt,tommay/tilt,kyanny/tilt