Renew the updater branch

Now with some actual consensus on what the updater will do!
Unit testing
Fix some bugs that surfaced
Add some new folders
Tests for the user utils
Rework the update checking system
Offline mode support, part 1

Refactor MojangAccount so it exposes a less generic interface and supports login. Hide the ugly details.
Yggdrasil tasks are now only used from MojangAccount.
Implement DownloadUpdateTask

Installing updates is not implemented yet. That's next.
Implement update installer
Finish implementing update installation.

Also add the option to update on exit.
work on pasting instance logs

blame clang for formatting changes
Added WIN32_LEAN_AND_MEAN

Should reduce compile times and help get rid of some error things.
Fixes to pasting
Open the url direectly.
revert
Include shellapi.h in the updater on Windows.
fix revert
Fix build failures on Windows.

* remove atoll
* fix include path of updater depends
Merge branch 'feature_updater' of github.com:MultiMC/MultiMC5 into feature_updater
Work on new assets system. Working legacy assets importer, disabled assets downloading for now