[deployment] (GH-202) Add environment collision detection

This allows r10k to easily look for sources within a given
deployment that have environments that try to manage the same path. The
existing code allowed environments to overlap, but the behavior was
entirely defined and is generally very dangerous. This new validate
function allows for this case to be checked without too much work on the
part of the caller.
[action/deploy/environment] (GH-202) Ensure environment uniqueness
[deployment/config] Explicitly require yaml
Merge branch 'feature/master/gh-202-unique-environments'