* Initial work on moving container space checks into new class
* Updated tests
Wired up service to save item into inventory when space is found
Updated `FillContainerMapWithItem` to return outcome and not throw exception on failure
Add containers to bot when generating bot equipment
Clean bot cache after completion of loot generation
Removed redundant code from `AddItemWithChildrenToEquipmentSlot`
Removed unnecessary Singleton status from `BotInventoryContainerService`
* Clean-up of service
* Add botId xml docs
* Updated documentation for `FillContainerMapWithItem`
* Code review fixes and improvements
* Remove TODO
---------
Co-authored-by: Chomp <dev@dev.sp-tarkov.com>
Updated `GenerateBotWaves` to return empty results when request data is empty
Cleaned up `GenerateBotWave` to not need a manual lock
Improved `botRelativeLevelDelta` value in pmc.config
Updated `MatchBotDetailsCacheService` to store PMCs primary weapon tpl
Now allows for per-map multipliers + pocket + vest loot uses same level-based value as backpack
labs multiplier = 2
labyrinth = 4
Removed nullability from some properties
Convert constructors into primary constructors
Simplified logic with use of ??, ??= and method groups
Cleaned up redundant conditional access qualifiers
* Remove old IsValidMongoId and Regex
* Convert more configs to MongoId, as well as BaseClasses
* Remove HashUtil.Generate(), replaced with new MongoId()