Updates for a faster 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. 
 - Linking files with a newline is not actually fixed, but the
   behavior did change slightly, so I updated the test.
I think anything other than progress should be logged to `stdout`, it should be machine-readable however (I created #70 a long time ago to track progress on that, still haven't gotten around to it :-)).

> BTW, I really like the way you have done your logging with the pending / success functions - it looks really slick.

Thanks! It was fun to code as well, hehe.