Fixes PlayVoiceLocal so it actually works as intended, bring DeathSounds in line with suggestions.
Converts InfDeath from integer to string.

Wire up updated DeathSounds for all mods.
Merge pull request #5242 from reaperrr/deathsounds-followup

Made DeathSounds and their InfDeath relation fully customizable
Convert ActorReference field to Lazy

Makes LoadMaps 40% faster
Better caching for Rules and Sequences

Refactored the Rules and SequenceProvider classes to be parts of ModData and
maintain a cache of the instances used in the mod.

The caching reduced the load times a lot, especially after the first load.
Some lazy loading in sequences also helped lower the startup time..

Note: The static classes were left behind to redirect the existing code's
calls.
Add dummy "perf" log channel to Utility
Fix caching by making the tileset part of the key
Less aggressive rules caching

ActorInfo instances depend on the whole set of ActorInfos
Refactoring to remove static Rules & SequenceProvider
Change comment about delayed actions
Merge ModRuleset and MapRuleset into Ruleset
Remove TileSetData and separate TileSet from Sequences
Move Ruleset.cs from Map/ to GameRules/
Remove stray newlines
Remove reference to Game.modData
Replace catch(KeyNotFoundException) with TryGetValue()
Rename ModInformation to ModMetadata
Revert replacing generic Ui.OpenWindow with static method in MusicPlayerLogic
Use proper map rules in ProductionTooltipLogic.cs
Better distinction between Widgets using the mod's DefaultRules or the map's Rules