Currently, when called with one argument, dst is set to self, i.e. the
directory into which the source file should be moved.
When called with a second argument (for renames), dst is the full path,
including the basename, to the moved file.
Instead, let's always pass the full path, which means we can remove the
branching logic around computing dst.
We need to install the helper module not just on `etc` but also on all
subdirectories of it too. Also, handle the case where we install
a subdirectory with etc.install.
ClosesHomebrew/homebrew#26145.
If an etc file exists on installation instead of overwriting it (or
requiring all the manual checks in formula) simply copy it with the
extension `.default` appended.