[Part 4] Refactor logging code into a global object
Summary: util: Encapsulate logCategories within BCLog::Logger.
Test Plan:
Run bitcoind with different permutations of:
-logtimestamps, -debug, -printtoconsole, -datadir, -shrinkdebugfile
Reviewers: deadalnix, jasonbcox, O1 Bitcoin ABC, #bitcoin_abc
Reviewed By: jasonbcox, O1 Bitcoin ABC, #bitcoin_abc
Subscribers: teamcity
Differential Revision: https://reviews.bitcoinabc.org/D1283