Make everywhereOnValuesM only apply functions once at top level

The traversal functions already pass their results through the
functions.  There should be no need to do it again.
Merge pull request #735 from dylex/everywhere-once

Make everywhereOnValuesM only apply functions once at top level