ART: Make InstructionSet an enum class and add kLast.

Adding InstructionSet::kLast shall make it easier to encode
the InstructionSet in fewer bits using BitField<>. However,
introducing `kLast` into the `art` namespace is not a good
idea, so we change the InstructionSet to an enum class.
This also uncovered a case of InstructionSet::kNone being
erroneously used instead of vixl32::Condition::None(), so
it's good to remove `kNone` from the `art` namespace.

Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Change-Id: I6fa6168dfba4ed6da86d021a69c80224f09997a6
diff --git a/compiler/optimizing/stack_map_test.cc b/compiler/optimizing/stack_map_test.cc
index 91f86d5..7e517f3 100644
--- a/compiler/optimizing/stack_map_test.cc
+++ b/compiler/optimizing/stack_map_test.cc
@@ -928,18 +928,24 @@
 
 TEST(StackMapTest, CodeOffsetTest) {
   // Test minimum alignments, encoding, and decoding.
-  CodeOffset offset_thumb2 = CodeOffset::FromOffset(kThumb2InstructionAlignment, kThumb2);
-  CodeOffset offset_arm64 = CodeOffset::FromOffset(kArm64InstructionAlignment, kArm64);
-  CodeOffset offset_x86 = CodeOffset::FromOffset(kX86InstructionAlignment, kX86);
-  CodeOffset offset_x86_64 = CodeOffset::FromOffset(kX86_64InstructionAlignment, kX86_64);
-  CodeOffset offset_mips = CodeOffset::FromOffset(kMipsInstructionAlignment, kMips);
-  CodeOffset offset_mips64 = CodeOffset::FromOffset(kMips64InstructionAlignment, kMips64);
-  EXPECT_EQ(offset_thumb2.Uint32Value(kThumb2), kThumb2InstructionAlignment);
-  EXPECT_EQ(offset_arm64.Uint32Value(kArm64), kArm64InstructionAlignment);
-  EXPECT_EQ(offset_x86.Uint32Value(kX86), kX86InstructionAlignment);
-  EXPECT_EQ(offset_x86_64.Uint32Value(kX86_64), kX86_64InstructionAlignment);
-  EXPECT_EQ(offset_mips.Uint32Value(kMips), kMipsInstructionAlignment);
-  EXPECT_EQ(offset_mips64.Uint32Value(kMips64), kMips64InstructionAlignment);
+  CodeOffset offset_thumb2 =
+      CodeOffset::FromOffset(kThumb2InstructionAlignment, InstructionSet::kThumb2);
+  CodeOffset offset_arm64 =
+      CodeOffset::FromOffset(kArm64InstructionAlignment, InstructionSet::kArm64);
+  CodeOffset offset_x86 =
+      CodeOffset::FromOffset(kX86InstructionAlignment, InstructionSet::kX86);
+  CodeOffset offset_x86_64 =
+      CodeOffset::FromOffset(kX86_64InstructionAlignment, InstructionSet::kX86_64);
+  CodeOffset offset_mips =
+      CodeOffset::FromOffset(kMipsInstructionAlignment, InstructionSet::kMips);
+  CodeOffset offset_mips64 =
+      CodeOffset::FromOffset(kMips64InstructionAlignment, InstructionSet::kMips64);
+  EXPECT_EQ(offset_thumb2.Uint32Value(InstructionSet::kThumb2), kThumb2InstructionAlignment);
+  EXPECT_EQ(offset_arm64.Uint32Value(InstructionSet::kArm64), kArm64InstructionAlignment);
+  EXPECT_EQ(offset_x86.Uint32Value(InstructionSet::kX86), kX86InstructionAlignment);
+  EXPECT_EQ(offset_x86_64.Uint32Value(InstructionSet::kX86_64), kX86_64InstructionAlignment);
+  EXPECT_EQ(offset_mips.Uint32Value(InstructionSet::kMips), kMipsInstructionAlignment);
+  EXPECT_EQ(offset_mips64.Uint32Value(InstructionSet::kMips64), kMips64InstructionAlignment);
 }
 
 TEST(StackMapTest, TestDeduplicateStackMask) {