Let ZKL wait for rapid list first before downloading ZK (for first time user)

The code that download ZK for first time user (in MainWindow.cs) will fail (no download happen) if rapid list is not ready soon enough when the code is called.
So I add an Event (called "MasterManifestDownloaded") that notify a static function in Program.cs (called "GetZK") to start download after rapid is finish loading.

This is the only major changes, other commit is just cosmetic tweak.