With that shortcut issue identified, let's tidy up a bit

Done:

 - bail out of `fixPinnedExecutables` when there are no old directories
 - introduced `Func` to either create the ShellLink or skip (no more tears and errors)
 - moved `DidntFollowInstructionsAppSetup` to own class
 - coding style and some minor tidy up
 - code contracts build error (back :soon:)