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.**
I gave up yesterday trying to understand that
>if (!sAuctionBotConfig->GetConfig(CONFIG_AHBOT_BUYPRICE_SELLER))

part so I can't tell if it's wrong there too or not. Could you take the time to understand what is happening there and if it's correct ?