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 
According to Parser API `consequent` cannot be null so I guess you mean if the `consequent` is an `EmptyStatement` or a `BlockStatement` with a `body` array length of 0 then replace the `IfStatement` with an `ExpressionStatement` containing `test` as its `expression` value?