Rename junction `target` option to `link`
As per a recent discussion on IRC, the target
option name is confusing as by itself, it suggests the opposite of what it actually means.
Since the name target
was selected as a parallel with the target of a symbolic link, change this name to link
to better reflect that we are linking two junctions.
This branch also improves error checking and documentation around junctions.