Fix #115: Speed up the link command.

 - Don't store intermediate `paths` variable; use pipes.
 - Use process substitution to speed up loops.
 - Minor clean-up & fix a few shellcheck warnings.

1 test re: Fail on newline in filename does *NOT* pass.
Is this behavior we need to keep?
Fair enough. I have gotten into the habit of (almost) always quoting variables in Bash. In this case word splitting isn't an issue, but [Shellcheck](https://github.com/koalaman/shellcheck) complains about this instance because of the potential for glob interpretation:

```
In lib/commands/link.sh line 21:
if [[ -L $local && $(readlink "$local") == $remote ]]; then
                                           ^-- SC2053: Quote the rhs of = in [[ ]] to prevent glob interpretation.
```

Would you like me to change it back?