Further refactoring to make sharing code between launcher and self-updater easier.
Pretty much done with self-updater rewrite. Haven't tested yet though. That's a job for tomorrow.