Add "WITH_SYNTAX_CHECK=1 make ..."

The new option WITH_SYNTAX_CHECK=1 instructs build system to invoke
"clang -fsyntax-only" to utilize clang's better diagnostics before calling
LOCAL_CC/LOCAL_CXX for code generation.  The compilation time is slightly
longer, and the generated object file should be the same as w/o WITH_SYNTAX_CHECK

Project use lots of GCC extensions (eg. nested function) not supported
by clang may opt out by adding LOCAL_NO_SYNTAX_CHECK:=true

Change-Id: I5689586788ef049bd967364f71f31f1e359bd121

Conflicts:
	core/binary.mk
Some changes added to compile and run with Java 6 and Java 7.

  - correction of errors with Javac 6:
    - target 1.5 and source empty.
  - correction of errors with Javadoc 7:
    - strange behavior when duplicate classes are given.

Change-Id: Ib814ede143f7799ef18e0fb1b733547519b8b0e5

Conflicts:
	core/main.mk
Fix a bug that 'LOCAL_MODULE_STEM'ed apks are not signed

LOCAL_MODULE_STEM is used to rename module or package names in the
final output system image. However, $(APKCERTS_FILE): target did not
support this LOCAL_MODULE_STEM scheme.

This commit fixes this bug by explicitly addressing
'LOCAL_MODULE_STEM'ed apk name correctly.

Change-Id: I4cf096266d97180a32ae054d6ff6cf2b7e5d042a