This PR does a series of clean ups to this script on the initialisation
process, by removing complex env and const initialisation from the
global scope, and keeping them closer to where they are used, and behind
the conditionals that guard their use.
This change also removes all code from `ToolchainBuilder` that is not
strictly involved with field value initialisations, so we we are left
with guarantees that all member data fields are initialised by the time
they are supposed to be used.
There are removal for unnecessary checks for `mkdir` operations that
will fail anyway if they cannot perform, as well as for checks if a
directory is a file, which can be avoided by checking an expected file
under the directory.
Finally, this change corrects our use of `depot_tools`, by making sure
we deploy a copy of it as a sibling path to `src`, rather than using the
one under `src/third_party` as that one should be left pinned to a
particular version chose by Chromium, and using its `gclient`
innevitably leads to it self-updating.