Sped up ActorMap.ActorsInBox.

- By ensuring both the add and remove actor lists are sets, we ensure the partitioning bins will contain only distinct actors. We can remove the HashSet and Distinct in ActorsInBox and ActorsInWorld which provides a nice speedup for queries. ActorsInBox sees nearly a 3x speedup in the RA shellmap.
Improve game loop

Environment.TickCount was replaced with Game.RunTime that's based on
Stopwatch for increased accuracy.
Make FieldLoader/FieldSaver able to work with private fields

* Unify the FieldLoader-related attributes (Ignore, LoadUsing,
FieldFromYamlKey) into a new 'Serialize' attribute. Keep the
previous attributes as shortcuts/aliases to the new attribute.

* Add 'YamlName' field to the new 'Serialize' attribute to allow
yaml names different from the field names. Example:
    [Serialize(YamlName = "Width")]
    private int widthExpression = "0";

* The FieldLoader will treat private fields like public now and
will try to load their values. The FieldSaver gets an optional
parameter specifying whether to save private fields by default.
The 'Serialize' attribute can be used to fine-tune individual
fields.

* Updated the traits documentation exporter to write the yaml
name if it has been overriden.
Trivial typo in exception message
Use available TypeConverters to serialize and deserialize types
Add MaxSpread to Warhead to allow setting a specific area of effect.
Ion Cannon now scorches the whole hit area, and uses higher Spread + low
MaxSpread to increase damage within the hit area, but keep area of effect
itself relatively low.
Additionally increased damage to make it less inferior to Nukes.
don't use country specific decimal separators for decimals
same for double
Fixed Atreides Barracks Make Anim.
Fixes as per comments. (+1 squashed commits)

Squashed commits:

[c3abf4b] Fixes as per comments. (+1 squashed commits)

Squashed commits:

[a289d17] Regression and UpgradeRules fix for #5921.
Merge pull request #6044 from UberWaffe/CrateMultiUnitsFix

Regression and UpgradeRules fix for #5921.
Merge pull request #6042 from MustaphaTR/bleed

Fixed Atreides Barracks Make Anim.
send 'spectators' and 'protected' to master server; fixes #6041
Merge pull request #5850 from pavlos256/game-loop

Improve the game loop
Merge pull request #5943 from pavlos256/fieldloader

Fieldloader and non-public fields
Merge pull request #6046 from ihptru/masterserver

send 'spectators' and 'protected' to master server
Merge pull request #5853 from RoosterDragon/actormap-perf

Sped up ActorMap.ActorsInBox.
Merge pull request #6036 from Mailaender/trait-export-decimal-separators

Fixed country specific decimal separators in the traits documentation
Add Buildable.BuildAtProduction.

This allows actors to be restricted to specific production structures.