[Android] Add keystore and manifest test cases for packaging tool.

1. Create test_data directory for hosting test target file, such as:
   manifest, keystore etc.
2. Add keystore and manifest test cases for packaging tool.

BUG=https://github.com/crosswalk-project/crosswalk/issues/779
Merge pull request #781 from junmin-zhu/testcase

[Android] Add keystore and manifest test cases for packaging tool.
[Android] Fix the issue of '--app-root' and '--app-local-path'

For make_apk.py, if the option '--app-root' is required, it's
necessary to include the option '--app-local-path' as well.
Besides, split the test cases in 'testEntry' into 2 categories:
one is for testing correct cases and another is for failures.
[Android] Handle exceptions during the cross package invoking

All exceptions was causing library-not-found dialog to show before.
It was not appropriate.

Now the implementation is that the exception are catagorized into:
1. Runtime library not installed;
2. Runtime library not up-to-date and it's critical;
3. Runtime library not up-to-date but bearable;
4. Error happening before version matching across package;
5. Error happening after version matching across package.
For the first four cases, a dialog will be shown to navigate user to
download/upgrade runtimelib with proper message.
For the last case, since the version is already matched, the exception
should be taken as a normal runtime exception and be thrown out.

BUG=https://github.com/crosswalk-project/crosswalk/issues/735
[Android] Implement mixed resources to fix resource not found

In shared mode, runtime client and library are in different packages.
It makes it easy to meet resource-not-found issue.

To fix that, class XWalkMixedResources is created to combine the two
resources into one. It will try to get resource from library first
and get from client when resource not found in library.

BUG=https://github.com/crosswalk-project/crosswalk/issues/796
Merge pull request #744 from wang16/exception_handle

[Android] Handle exceptions during the cross package invoking
[Android] Remove unused application customization

It's not necessary to override android.app.Application but
do nothing customized.
Remove them and just use android.app.Application in their
AndroidManifest.xml.
Merge pull request #803 from wang16/mix_resources

[Android] Implement mixed resources to fix resource not found
Merge pull request #730 from wang16/remove_app

[Android] Remove unused application customization
Merge pull request #797 from yongsheng/testentry

[Android] Fix the issue of '--app-root' and '--app-local-path'
[Android] Integrate external extensions in make_apk.py

The API for external extensions are basically ready so this is to
enable the packaging tool to package external extensions into web
app APKs.

To add one extension to be packged, developers need to do below steps:
1. Create a directory named 'foobar' and add 3 files called 'foobar.jar'
'foobar.js' and 'foobar.json' into the directory.
2. Package it when running make_apk.py:
   python make_apk.py --extensions="/path/to/foobar"

BUG=#558
Merge pull request #798 from yongsheng/extension_maker

[Android] Integrate external extensions in make_apk.py
[Android] make_apk.py should exit before it calls others when failed.

Because the current process only get the output of subprocess, but can't
get the exception from the subprocess, so the parent process can't check
whether subprocess failed, and continue to run the following script.

This patch forces the parent process to read the returncode of subprocess
before continue execution, and direct exit when the returncode doesn't
equal to 0.

BUG=https://github.com/crosswalk-project/crosswalk/issues/789
Merge pull request #802 from junmin-zhu/failedprocess

[Android] make_apk.py should exit before it calls others when failing.
[Android] Add target to pack xwalk core library

And archive the tarball of xwalk core library.
The tarball will be used by cordova xwalk container.
Merge pull request #813 from wang16/cordova_lib

[Android] Add target to pack xwalk core library
Bump version to 1.29.10.0
[Extensions] Use a IO message loop for extensions running in a thread

Some extensions (like the RawSocket) will need this kind of main loop
for watching file descriptor events. The Chromium Socket implementation
asserts when used in a non-IO message loop.
Merge pull request #815 from tmpsantos/io_loop2

[Extensions] Use a IO message loop for extensions running in a thread
[Extensions] Decouple the FunctionHandler from the Internal Extension Context

This is the first step for removing the InternalExtension class. The idea here
is to delegate the wrapping of callback ids to the FunctionHandler and make
it optional using composition.