feat(NodePath.prune): add a new method to NodePath `prune`

This method removes a node and its parent if the parent has no other child nodes.
Merge branch 'master' of github.com:benjamn/ast-types
fix(NodePath.prune): make `prune` more defensive, code review suggestions.
Merge pull request #67 from briandipalma/master

Implement NodePath.prototype.prune.