Arycd: extract _ConduitManager for threads to use
Arycd: extract _ConduitManager for threads to use

Make it possible to share conduits between threads nicely by introducing
a _ConduitManager that can safely allocate new conduits as required.

Add more detail to the conduit multi-threading concerns.

Test Plan:
$ ./precommit.sh

kjedruczyk/phabricator-tools,cs-shadow/phabricator-tools,aevri/phabricator-tools,aevri/phabricator-tools,cs-shadow/phabricator-tools,kjedruczyk/phabricator-tools,kjedruczyk/phabricator-tools,aevri/phabricator-tools,cs-shadow/phabricator-tools,aevri/phabricator-tools,bloomberg/phabricator-tools,bloomberg/phabricator-tools,kjedruczyk/phabricator-tools,kjedruczyk/phabricator-tools,aevri/phabricator-tools,cs-shadow/phabricator-tools,cs-shadow/phabricator-tools,bloomberg/phabricator-tools,bloomberg/phabricator-tools,bloomberg/phabricator-tools