Ref #190
Ported the save API functionality to endpoints as part of ongoing efforts to use minimal API patterns.
Added some more security checks to make sure users can only alter or download their own saves.
Moved upload pathing to use the default save storage location. Settings pages will need to be updated to use this storage location. Other areas of the application will have to be checked to make sure they're not reading from `Settings.yml`.
- Install now extracts the redistributable archive to the game's `.lancommander` directory, under a directory matching the redist's ID
- Scripts are downloaded and saved to the same location
- BeforeStart, AfterStop, and NameChange scripts are now available for redistributables
- Change manifest reading/writing to use async