[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.
Merge pull request #653 from vcgomes/packaging

[Packaging] Try to generate smaller flat-tree tar balls
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
Merge pull request #647 from junmin-zhu/dir

[Android] Remove hidden assets('.*', '_*') from ANDROID_AAPT_IGNORE.
[Android] Add default implementation for file downloading.

In XWalkView, we provide a default implementation for file downloading: use
Android's DownloadManager to download file.

BUG=https://github.com/crosswalk-project/crosswalk/issues/380
Merge pull request #637 from sqliu/otcshare-download-file

[Android] Add default implementation for file downloading.
Merge pull request #641 from takethathe/remove

[Runtime] Enable uninstall applications from runtime
Merge pull request #513 from halton/android_postmessage

Support Android message passing mechanism
Merge pull request #634 from jeez/eph

Add ExtensionProcess and ExtensionProcessHost
[Extensions] Create the EP<->RP IPC Channel

We create a MODE_SERVER Channel on the ExtensionProcess
and use the BrowserProcess (through ExtensionProcessHost)
to let the RenderProcess know about this ChannelHandle.
[Extension] Create Client Channel on RenderProcess