Rsync option

We're using librarian-puppet in a large-scale environment with lots of change and we've run into issues with librarian-puppet's rather liberal convergence strategy. Essentially we're running into an issue where a `librarian-puppet update` command will result in a Puppet master process losing it's CWD because of the `install_path.rmtree` call. This results in a catalog compilation failure. The `install_path.rmtree` method gets called regardless of whether there are changes to the module in `install_path`. This PR allows for the option to use rsync to converge the directories, which is ultimately a much more conservative convergence strategy. This may not be the most idiomatic implementation. I'm open to suggestions on how to improve it.