[util/setopts] Allow options to specify aliases

We may not have a 1:1 mapping of option keys to instance variables, or
have aliases or other interesting things. To deal with such complexities
this commit changes setopts to take a map of key names => variable names.
[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