[Android] make_apk: Stop using options.name everywhere.

As the options.name is verified and transformed at beginning ,
we should not use it directly later, use the transformed name instead.
[Android] make_apk: Verify and transforms options.name once.

Verify and transforms options.name are being performed in many places,
consolidate all these codes, do it once.
[Android] make_apk: Refine the naming of AppInfo.

app_info.name => app_info.android_name,
android name will be used for Android project name, APK file name and Activity name.
app_info.original_name => app_info.app_name,
app_name will be used for the Android application name.
make it easier to read.
[Android] make_apk: Generated android name by package.

Try AppInfo.android_name is currently generated from options.name,
but the restrictions on options.name's value will be lifted in an upcoming commit.
That cannot happen to android_name,
so we now generate it from the package name passed via the --package option.
[Android] make_apk: Accept any string to be application name.

The new w3c manifest spec requires accepting any string to be application name.
However in previous make_apk process, they were treated as invalid input.
Merge pull request #2180 from jinbang/tool_naming_refine

[Android] Naming refine for packaging tool