Add a build-system for compiler-rt.
Compiler-rt is the runtime library of LLVM and sometimes we need to
resolve library calls to it. There are two moments were we need to
handle library calls to compiler-rt.
1. `sys.so` or any other Julia code compiled into shlibs.
In this case we perform static linking, as with other runtime
libraries.
2. JIT time. When we compile a Julia function that uses a libcall to crt
we need to resolve that against a shlib copy of compiler-rt.
Compiler-rt is usually only distributed as a static library, so we
provide a step to turn the static library into a shared one.
The buildsystem of compiler-rt is tightly tied to LLVM. Because of this
we have a staged build-script that builds compiler-rt from source. This
standalone version should only be used for Julia.