Adjust overwrite/backup/skip logic

This shouldn't alter behaviour of the script
Get rid of long ifs

This commit also preserves observable behaviour
Drop `link_files` function

It had strange name anyway
Rename $source to $src and $dest to $dst

`source` is a terrible name for a variable in shell scripts:
it gets highlighted as a keyword—that's annoying.

Conflicts:
	script/bootstrap