[Android] Naming refine for packaging tool

This patch is to support that the '--name' option can be any character or string.
The name represent the application name usually displayed to the user
as it will be set as value of 'android:label' in the 'AndroidManifest.xml'.
To avoid 'AndroidManifest.xml' parse error, the name should not start with '@' or '?'.
Otherwise the '@' and '?' will be replaced by '_' by default.
The continuous letters and uderscore in the name will be the Android project name
and APK name for internal use, if no letters or uderscore in the name, 'Empty' will be used.
`FIXME(jinbang): package name should never be generated for developer, it must be specified even having manifest.`