Core/AHBot: Implemented AHBot based on MaNGOS code

A continuation from https://github.com/TrinityCore/TrinityCore/pull/8721

> CMake must be rerun, there are new folders and include paths.
> 
> I've ported the code from MaNGOS, adapted it, cleaned it a little bit to follow TC coding standards (though further cleaning may be done) and tested it.
> 
> Changes are:
> /game/AuctionHouseBot/ *.cpp, *.h : Base AHBot code
> scripts: Added commands to modify its behaviour
> language: 1145 to 1164 added AHBot command strings
> 
> The reason behind not using sWorld->GetXConfig and not adding the ConfigKeys to World.h but using a custom class is that this values may be modified ingame by using commands. Doing it through world would have made this impossible.

> And that's it, enjoy.

Changes to previous PR:
Updated to newer TC and added RBAC changes
Changed config values to make AH bot work by default when enabled.
Removed invalid price calculation case
Fixed few messages
Split the huge cpp to their own headers and cpps
Removed unnecessary includes
Fixed a possible crash on Item::SetState

**When merging, I suggest changing the SQL files to appropriate names.**
Could be for math and percision later in code. In this specific code it should be rounded since all values are int.
I dont think the percision is that needed so it could be float as well. Or even uint32. However, then there is casting is possibly needed in math where the var is used.