Add support for `use dir = new WorkingDirectory(path)` construct

This was just an idea I had for using an IDisposable interface to restore the previous working directory after changing it.