Implement NodePath as a subclass of require("ast-path").Path.

Pulling in needsParens logic from the Recast lib/path.js file:
https://github.com/benjamn/recast/blob/f9f336fa6e/lib/path.js
Support require("ast-types").someField as an alternative to eachField.

The eachField method is awkward for those times when you want to stop
iterating early.