[Android] Re-organize the packaging tools.

Move packaging tools from ./build/android to ./app/tools/android.
After that, Android would share the same root folder with Tizen
for packaging.

BUG=https://github.com/crosswalk-project/crosswalk/issues/618
packaging: Fix adding the same files to the flat-tree archive

If we pass --update instead of --append to tar we only append to the archive
files that are newer than those already in the archive. This has the potencial
to make the archive generation faster in the incremental development case and
could also save some disk space.
packaging: Exclude src/out from the tar ball

If the same tree is used for development, src/out may contain the
results of previous builds, which are not needed for new builds.
[Extensions] Add dummy ExtensionProcessHost to ExtensionService
[Extensions] Add ExtensionProcess spawned by ExtensionProcessHost.
[Extensions] Call RegisterExtensions from ExtensionProcess
[Extensions] Add a XWalkExtensionServer to XWalkExtensionProcess

A dummy IPC::Sender was added for testing purposes while we don't
handle the creation of our IPC Channel.
[Extensions] Use RegisterExternalExtensionsInDirectory in XWalkExtensionProcess
[Extensions] Fixing Windows build for launching ExtensionProcess
Merge pull request #653 from vcgomes/packaging

[Packaging] Try to generate smaller flat-tree tar balls
[Extensions] Fixes after review for ExtensionProcess and ExtensionProcessHost

Mainly here I have:
- added comments;
- removed unneeded loops from ExtensionProcess;
- guarded the creation of ExtensionProcessHost by the --enable-extension-process switch;
- changed to VLOG(1).
[Extensions] Turn off sandboxing for ExtensionProcess in Windows

We don't want that for a process that is supposed to have access
to the entire platform...
Merge pull request #623 from junmin-zhu/reorg

[Android] Re-organize the packaging tools.
[Android] Add message passing support

XWalkExtensionAndroid.java is the interface to allow implement message
passing based extension written by java.

When new a instance that inherit from XWalkExtensionAndroid.java, it will
create C++ instance of XWalkExtensionAndroid. Then the C++ extension framework
will create XWalkExtensionAndroidInstance on-demond. Thus they will bridge
the messages passed between JavaScript and Java.

XWalkExtensionAndroid is self-registed to existing XWalkExtensionService.
[Android] Add ExtensionEchoTest for message passing unit test
[Android] Support multiple extension instances

WebFrame java interface is not exposed, thus there is no way to
identify which XWalkExtensionAndroidInstance need to be post message.
Leave a FIXME for that.
Enable uninstall applications from runtime

Add a switch "--uninstall" to enable the application uninstalling
functionality, it can remove application information and resources from
platform by its ID.
[Android] Replace invalid chars in options.

Replace the invalid chars (\/:*?"<>|- ) with (_) in options,
which may be valid in host system, but invalid in the packaging tools.

BUG=https://github.com/crosswalk-project/crosswalk/issues/630
Merge pull request #649 from junmin-zhu/invalidchars

[Android] Replace invalid chars in options.
[Android] Remove hidden assets('.*', '_*') from ANDROID_AAPT_IGNORE pattern.

This patch will remove the ".*" and "_*" from the default exclude list,
and thus "hidden" assets will now be included in your assets
directory inside your .APK.

BUG=https://github.com/crosswalk-project/crosswalk/issues/631