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.

For issue #65 
You could potentially do something with `IfStatement`s that end up with neither a `.consequent` nor an `.alternate`, like just preserve the `.test` as an `ExpressionStatement` that replaces the `IfStatement`?