[Android] Fix that dict.iteritems() is no longer supported in python 3.0+

'dict' object has no attribute 'iteritems' in python 3.0 and later,
use dict.items() instead.

BUG=https://crosswalk-project.org/jira/browse/XWALK-2129
Merge pull request #2213 from jinbang/fix_dict_iteritems

[Android] Fix that dict.iteritems() is no longer supported in python 3.0...
[Android] make_apk: Use open(), not file().

The latter does not exist in Python 3, so those functions were broken
when invoked.
Bump version to 8.36.178.0
Merge pull request #2216 from rakuco/py3-compatibility

[Android] make_apk: Use open(), not file().
[Android] Package name must be specified even having manifest

Package name is the ID of an Android application,
and the manifest will not carry the package field.
We should never generate the package name based on some rules we invented.
So it must be specified in argument.
Merge pull request #2214 from jinbang/tool_package_name

[Android] Package name must be specified even having manifest
[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.code_name,
code 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 code name by package.

Generated code name from the last segment of input package name.
[Android] make_apk: Accepting 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.