Subzero: Allow builds with assertions disabled.

1. Setting command-line make variable NOASSERT=1 adds -DNDEBUG and builds in a separate directory.  By default, we still get Release+Asserts.

2. Add "(void)foo;" as necessary when foo is only used in an assert(), to remove warnings.

3. Minimize inclusion of llvm/Support/Timer.h because it adds warnings.

4. Call validateLiveness() only when asserts are enabled, because it's relatively expensive.

BUG= none
R=jvoung@chromium.org

Review URL: https://codereview.chromium.org/623493002
diff --git a/src/assembler_ia32.h b/src/assembler_ia32.h
index 0f95e35..aecc15f 100644
--- a/src/assembler_ia32.h
+++ b/src/assembler_ia32.h
@@ -329,6 +329,7 @@
   explicit AssemblerX86(bool use_far_branches = false) : buffer_(*this) {
     // This mode is only needed and implemented for MIPS and ARM.
     assert(!use_far_branches);
+    (void)use_far_branches;
   }
   ~AssemblerX86() {}