Support multiple source directories

The `rcup` and `mkrc` commands now support multiple source directories.
This is useful for sharing dotfiles between friends, spliting dotfiles
into private and public ones, or other such situations.

In `mkrc` this support means that you can specify the destination
directory for your dotfile, either from the command-line or from you
`~/.rcrc` configuration.

In `rcup` this means that it will recur through all source directories,
in order, creating the symlinks as needed. This means that duplicated
files will not be overridden. The order can be specified by the `-d`
option, which can be repeated, or by the `DOTFILES_DIRS` option in your
`~/.rcrc` configuration. The `-d` option overrides the configuration.

For example, this configuration file will update from the two
directories in order:

    DOTFILES_DIRS="/home/mike/.dotfiles/public /home/mike/.dotfiles/private"

Any source directories that don't exist are skipped.