Most of the build process is in Rust[0], but something needs to kick it off: instead of assuming/requiring that install the correct version of Rust (for the right platform) themselves and then invoke cargo in the right place to get the build manager, there's a relatively short Python script[1] that does all of that automatically. Python works well because it's everywhere, and it's already a dependency of the build process (LLVM needs it).
That's my guess, too. I thought Rust might handle a build system by now with all the libraries pouring out. So, I figured I'd ask anyway in case any interesting answers showed up.
Its job is to download the previous Rust release (beta for master, stable for beta and previous stable for current stable), including Cargo, build the build system with Cargo and start it.
The build system then builds native dependencies (LLVM) and runs Cargo several times for different components.