[Android] Naming refine for packaging tool

First, 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.
Second, in the past time, this part of logic is always buggy and
each sub process is validating and modifying the name passed by.
It's a good time to consolidate all these codes and validate the name at beginning,
to produce all necessary strings (transferred from the input name)
for all purposes during the make apk process.
I had to apply this patch locally, comment out this part _and_ run `make_apk` manually without passing `--name` to understand what you are trying to fix here. In the very least, your tests have to actually cover this case (it is only reached if one does _not_ pass `--name` on the command line and have a name with non-ASCII characters in the manifest).

We currently have a situation where the values we use can be either Unicode or bytestrings depending on whether they come from the manifest or the command-line (in Python 2). Ideally, we should use Unicode as much as possible and only convert when necessary ("at the border"). How about moving this check to `CustomizeXML()`?