ARM64: add i64 scalar pattern for @llvm.arm64.abs

This will be used by the Clang front-end code for vabsd_s64.
ARM64: add more scalar patterns for reciprocal ops.
ARM64: add more scalar patterns for usqadd & suqadd.
ARM64: shuffle patterns around for fmin/fmax & add tests.
ARM64: add more patterns for commuted fmsub operations.
ARM64: add patterns for scalar sqdmlal & sqdmlsl.
ARM64: add extra scalar neg pattern & tests.
ARM64: add extra patterns for scalar shifts
ARM64: enable aarch64-neon-intrinsics.c test

This adds support for the various NEON intrinsics used by
aarch64-neon-intrinsics.c (originally written for AArch64) and enables the
test.

My implementations are designed to be semantically correct, the actual code
quality looks like its a wash between the two backends, and is frequently
different (hence the large number of CHECK changes).
Fixing MSVC windows build. Please respect code order when ifdefing out MSVC specifics :)