Add -M option to allow recusive merge of dotfiles

This allows files to be tracked using dotfiles that live in default dot-directories, e.g. .local and .config. Force works as expected. If there is a conflict during recursion it will skip the file unless force is specified.