Enable basic AArch64 code generation.

A few points that bear consideration:

— WITH_ARM now implies 32-bit ARM (only); WITH_AARCH64 implies 64-bit
ARM (only). This is a little ugly, but since older LLVM versions don’t
support aarch64 it seems imprudent to have WITH_ARM require 64-bit as
well. (Alternately, we could have WITH_ARM mean “at least ARM32” and
WITH_ARM+WITH_AARCH64 mean 32+64, but none of the other WITH flags are
additive in this way AFAIK.)

— However, CodeGen_ARM.cpp generates code for both 32-bit and 64-bit
ARM; essentially all of the NEON specialization is omitted from the
64-bit paths, as the ARMv8A AdvSIMD instruction set has nontrivially
different assembly syntax from existing NEON code. (It’s not yet clear
to me if the naming patterns are similar enough to existing NEON that
some macro-ization might allow us to recycle existing code; if not, it
may prove simpler in the future to simply add a CodeGen_AARCH64.cpp,
but some experimention is likely prudent first.)

— Similarly, a stub aarch64.ll file was added to hold future
specializations for ARMv8A AdvSIMD; we’ll definitely need it as we
flesh out support.

Note that in order to generate AArch64 code, you’ll need to ensure that
your LLVM has aarch64 enabled as a target (we should probably update
the README to reflect this).
Merge pull request #365 from steven-johnson/master

Enable basic AArch64 code generation.