Fancy disassembly of Thumb2 IT blocks.

Example:

            0x60ce6ea4: 4291        cmp     r1, r2
            0x60ce6ea6: bf0e        itee    eq
            0x60ce6ea8: 2001        movseq  r0, #1
            0x60ce6eaa: 1c10        movne   r0, r2
            0x60ce6eac: 47f0        blxne   lr
            0x60ce6eae: 1c06        mov     r6, r0

Change-Id: I85deae2e471b8bfc513281be421e0bd46c1b60a0
diff --git a/src/disassembler.h b/src/disassembler.h
index bd745a8..9f99ca6 100644
--- a/src/disassembler.h
+++ b/src/disassembler.h
@@ -22,6 +22,7 @@
 #include <iosfwd>
 
 #include "instruction_set.h"
+#include "macros.h"
 
 namespace art {
 
@@ -31,6 +32,12 @@
   virtual ~Disassembler() {}
 
   virtual void Dump(std::ostream& os, const uint8_t* begin, const uint8_t* end) = 0;
+
+ protected:
+  Disassembler() {}
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(Disassembler);
 };
 
 }  // namespace art