Add support for BTI.

Add support for Branch Target Identification. This also adds an extension to
Bind() to indicate which instruction should be used as the landing pad - one of
the BTIs or a PAuth instruction.

The simulation support is partial; memory may only be guarded globally or not at
all.

Change-Id: Idb54826dcf866f1e677fe1579d05987621eae721
diff --git a/src/cpu-features.h b/src/cpu-features.h
index 9dac583..88b6914 100644
--- a/src/cpu-features.h
+++ b/src/cpu-features.h
@@ -94,7 +94,9 @@
   /* FP16 fused multiply-add or -subtract long: FMLAL{2}, FMLSL{2}.         */ \
   V(kFHM,                 "FHM",                    "asimdfhm")                \
   /* Data-independent timing (for selected instructions).                   */ \
-  V(kDIT,                 "DIT",                    "dit")
+  V(kDIT,                 "DIT",                    "dit")                     \
+  /* Branch target identification.                                          */ \
+  V(kBTI,                 "BTI",                    NULL)
 // clang-format on