Adding bin context; adding debug option; refactoring `add` and `restore`

The new 'bin' context provides the ability to manage files in the `~/bin`
directory in addition to regular dotfiles. It requires calling the `dots`
command with context as the second argument. The context can be one of
two options, `home` and `bin`, where `home` refers to `$HOME` and only
searches dotfiles, and `bin` refers to `$HOME/bin` and excludes
dotfiles.

When no context argument is supplied, the default `home` context is
assumed.

All of the tasks should operate the same way regardless of the context.

While implementing this feature, support for a `--debug` flag was added,
and some debug calls were placed in the code.

File iteration was updated to handle the two different contexts,
specifically the inclusion or exclusion of dotfiles.

Finally, the `add()` and `restore()` tasks had to be updated due to
apparently faulty logic.