Initial version of AArch64 support.

There are still some FIXMEs in the code (around thread locals and stack protection) but rustc already passes most of the tests on AArch64:
summary of 41 test runs: 8265 passed; 1 failed; 542 ignored; 0 measured.

Needs #19790 and https://github.com/rust-lang/compiler-rt/pull/5 .
Can't the 32-bit and 64-bit architectures reuse the same tests, one for each?