Make Path.prototype.replace reuse replaced Path objects.

This mitigates a significant source of ongoing confusion, namely that it
was previously difficult to replace the same path twice unless you were
very careful to call path.replace(newNode)[0].replace instead of trying to
call path.replace again.

Although I believe this will fix a number of subtle bugs, it still calls
for a minor version bump because it's potentially a breaking change.
Merge pull request #41 from benjamn/reuse-replaced-Path-objects

Make Path.prototype.replace reuse replaced Path objects.