aapt: localizations: be more aggressive

* errors instead of warnings for:
  * A localized string for which no default-locale version exist.
  * A localized translation of an translateable="false" string.

Change-Id: Ib700fe323019f285f5a1931fe96500b2de03106b
aapt: add check for untranslatable "string-array"s

Change-Id: Id884af0505c0bcdfa20b400fcdd54f699f8ef38f
Signed-off-by: Chirayu Desai <cdesai@cyanogenmod.org>
aapt: allow toggling "errors instead of warnings"

* This patch makes the default behaviour same as AOSP,
  treating untranslatable strings in any but the default
  locale as warnings.
* Setting the environment variable AAPT_ERROR_ON_WARNING to
  anything will make those warnings, errors.

Signed-off-by: Chirayu Desai <cdesai@cyanogenmod.org>
Change-Id: I7da98d277495a7646ad64ba2f7e6a6bf14290f98
Fixes for clang:
PackageInfo is a class, not a struct.
String16 is contained in the android namespace. Do not namespace prefix it
within the android namespace.
Explicitly specify which std classes are necessary to prevent ambiguous
type errors. (map, set)

Change-Id: I0d01477a976e770821ebae8847f8d11b132a15d6