Upgrade to recast v0.6.2 and use recast.visit instead of types.traverse.

The coolest thing about this is that you can define visitor methods that handle supertypes, so the `visitFunction` method handles `FunctionExpression`, `FunctionDeclaration`, and `ArrowFunctionExpression` nodes.