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
don't use country specific decimal separators for decimals
same for double
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