[svn/working_dir] (GH-155) Pass through SVN auth credentials
[svn/working_dir] (GH-155) Force non-interactive svn

When r10k runs subcommands it fully detaches stdin/stdout/stderr, so
users cannot interact with subprocesses. Because of this we should
always run SVN commands with `--non-interactive` to ensure SVN never
tries to prompt for user entered information.
[module/svn] Use setopts for SVN module
[module/svn] (GH-155) users can specify SVN auth credentials
[module/svn] Remove :svn_path option

The path to check out within a given SVN repository is part of the
repository URL, not a separate component. the :svn_path option was never
wired up so it should be removed.
[svn/remote] Add credentials when querying remote
[svn/working_dir] Run 'svn checkout' with --quiet

Right now we're relying on commands to return less than 64k of data on
stderr and stdout because we just queue everything in pipes. If we fill
said pipes we hang, and SVN is very chatty and will cause that hang. To
resolve this for now this adds '-q' to checkout invocations to bypass
this bug.
[svn] Pass credentials to SVN sources and environments
Merge pull request #200 from adrienthebo/issue/master/gh-155-svn-noninteractive

REVIEW: Issue/master/gh 155 svn noninteractive
Merge pull request #199 from adrienthebo/feature/master/gh-95-action-subsystem

Feature/master/gh 95 action subsystem framework
[deployment] (GH-123) 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-123) Ensure environment uniqueness
[deployment/config] Explicitly require yaml