Create AutoUpdater, teach it to check new updates

It can't read a diff or apply an update yet, just check.
Teach the AutoUpdater to read a flist

We can now read the list of files in an update, along with the install path, file size, and signature

Everything, metadata and files, is signed with ed25519, but not encrypted
Add qtox update-server tools

qtox-updater-sign takes data from stdin or as argument, signs it with the updater's private key, and output the signature + the data

qtox-updater-genflist generates a flist, a serialized list of AutoUpdater::UpdateFileMeta for the qTox updater
Download and applying updates, qtox-updater

The auto-updater is essentially done, except for the GUI. For now this is only an API.
The API works, but the tools to manage the update server would need some love
Add an option for auto-updates on Windows

With the update server hosted on my laptop...

Fun fact: Updates are really easy to mess up right now. If I forget to update the update server, everyone gets downgraded. Upload a bad file and everyone will crash. Fun stuff.

Upates Are Experimental™ and off by default.
Merge branch 'autoupdate'