Add support to delete old files while running the dotfiles update

* Add support for --dry-run (-n) to see what would happen
* When ever a file is copied over it will stored in a "manifest"
  and during update any file found in the manifest that is
  not included in the dotfiles anymore will be set for removal.
Skip files where source seems to equal the target