Use require("ast-types").visit instead of .traverse.

Notice how the new visitor methods allow clean decomposition of the old `visitNode` function. Bonus: type->method lookup is driven by a precomputed table, so no more calling `visitNode` for every single node in the AST. You can also now return a node instead of calling `path.replace`.