Pull request description:
This is purely a refactor with no behavior changes. This creates a new class `BCLog::Logger` to encapsulate all global logging configuration and state.
Tree-SHA512: b34811f54a53b7375d7b6f84925453c6f2419d21179379ee28b3843d0f4ff8e22020de84a5e783453ea927e9074e32de8ecd05a6fa50d7bb05502001aaed8e53
Partial backport of Core PR12954
https://github.com/bitcoin/bitcoin/pull/12954/files#diff-d278fc7d6997679f1f7416c5eda758fcR92
https://github.com/bitcoin/bitcoin/pull/12954/files#diff-d278fc7d6997679f1f7416c5eda758fcR147
Most of the changes were already made in various patches over time (see D4531 and D5010 for examples). This is only adding the last missing Enabled() function which will reducing our code ownership and make future backports easier.