Extensions to puppet-sync:

- System locks for avoiding race conditions
- Mapping of branches to local environments (overridding the
  CLI argument)
- full-sync CLI argument (-fs) to force a synchronize between
  the local environments and remote branches, including removal
  of non-existing ones
- forbid deleting of the local "production" branch.
- chmod of top-level directory when doing a git clone
- set up a default umask for files that are created outside of git
  (e.g., locks)