Turn on -Wformat-nonliteral.

Apparently there are two classes of this warning in clang.
-Wformat-security is only emitted for cases of
`func(nonliteral_fmt_string)` (no args), and -Wformat-nonliteral is
emitted for cases *with* arguments. For whatever reason, the latter
isn't included in -Wextra and must be manually enabled.

To make this more easily portable to Windows, move the existing
gnu_printf/__printf__ decision into base/macros.h as ATTRIBUTE_FORMAT.

Change-Id: I3b0990e1d1f0a2e9c13b32f5cd60478946cb5fc6
diff --git a/adb/Android.mk b/adb/Android.mk
index 7977009..0124b26 100644
--- a/adb/Android.mk
+++ b/adb/Android.mk
@@ -15,8 +15,9 @@
 
 ADB_COMMON_CFLAGS := \
     -Wall -Wextra -Werror \
-    -Wno-unused-parameter \
+    -Wformat-nonliteral \
     -Wno-missing-field-initializers \
+    -Wno-unused-parameter \
     -DADB_REVISION='"$(adb_version)"' \
 
 # libadb