Shadow copy optimize and source destination checks

Check that source path exists and backup destination drive or \\server\share exists. Log error if not, rather than bothering to run "ln" at all.
Optimize use of shadow copy - if the same drive letter repeats in the source list then keep using the same shadow copy.
Minor text and white space cleanup.
The diff listing looks horrible because large blocks of code were tabbed in.