Allow specifying a folder that the data comes from.

This makes it easy to drop in a different environment.
Add an easy to use sync script.

Running this script causes the latest local changes to appear on the
puppet master. This means subsequent puppet clients will see the updated
code.
Only ignore vagrant.yaml in the main vagrant/ directory.

Apparently, adding a leading / to a file name in your .gitignore means
that the file will only be ignored in the same directory, and not
recursively. Since omv now supports sub-folders that contain
vagrant.yaml files in their tree, we shouldn't ignore them by default.
Ensure variable name isn't reused.

This didn't seem to cause any negative side effects, but it should be
fixed anyways.