[Runtime] Add XPK package generate tool

The python script can generate XPK package from Crosswalk application
resources, furthermore, it will generate a RSA private key if it's invalid.
[Tizen] Polish Python code according to Chromium Python style guidelines.

Per Chromium Python style guidelines,
http://www.chromium.org/chromium-os/python-style-guidelines
This CL sets single quote for string values, and sets functions names
with CapWords() style.
[Tizen] Enable pkginfo uninstall for Tizen.

This CL supports to uninstall package information from Tizen Database,
as well as remove application icons, execute path and XML file from Tizen system.

As for the python script arguments, the --install option will not take
values any more, also a new option --uninstall is added to support
uninstall package information from Tizen.

For class InstallHelper() in Python, the parameter input_path is removed from
constructor, because it could be generated by the other parameters.
Also several class member variables are added, e.g, icon_path_ , execute_path_,
which could be shared by install and uninstall functions.

Besides, we found the issue that application icon could not display on home
screen if package name contains white spaces. To fix this issue, the installer
script strips these whitespaces when writing package information into database.
Merge pull request #665 from shaochangbin/cb-uninstall

[Tizen] Enable pkginfo uninstall for Tizen.
Merge pull request #669 from takethathe/generator

[Runtime] Add XPK package generate tool
[Android] Add the callback of onTitleChanged in test.

This feature is requested when pull request #513 get reviewed.
[Runtime] Re-enable seccomp-bpf sandbox on Linux

Chromium for Linux has 2 sandboxes: setuid that creates a chroot like
sandbox and thus requires a setuid helper binary that we don't ship, and the
seccomp-bpf sandbox that was previously disabled for no reason.

I'm enabling the seccomp-bpf sandbox back.
[Extensions] Fix Zombie extension process on Linux after a ctrl+c

On Linux we are currently leaving the extension process alive
even after its parent, the BrowserProcess, was killed with ctrl+c
(^C, or SIGTERM).

We still haven't found a more chromium-ish way of doing this,
so let's stick to prctl.h for now.
[Extensions] Change switch to --disable-extension--process

This will enable the ExtensionProcess (EP) by default for all
platforms, but shouldn't affect Android. On this platform,
XWalkExtensionService::RegisterExtension is called directly,
which makes extensions to be registered on the in_process
XWalkExtensionServer.
[Extensions][Android] Disable ExtensionProcess by default
Merge pull request #585 from wuhengzhi/titleChange

[Android] Add the callback of onTitleChanged in test.
Merge pull request #679 from tmpsantos/sandbox

[Runtime] Re-enable seccomp-bpf sandbox on Linux
[Extensions][Tests] Make ExternalExtension tests use the ExtensionProcess
[Extensions] Use base::GetNativeLibraryName in RegisterExternalExtensionsInDirectory

This will avoid us having problems with .so vs .dll (Linux vs Windows).
[Extensions][Windows] Disable ExtensionProcess for Windows
Merge pull request #676 from jeez/ep-final

[Extensions] Make ExtensionProcess enabled by default
Separate Client<->Server messages from regular Extension messages

IPC has a way to identify the messages by "class", based on the MsgStart
identifier, by using the IPC_MESSAGE_CLASS() macro. This will make
filtering of messages for client<->server interface easier.
Make extension instances run in a single shared thread

This is a change on the execution model of the extensions. The code for
each instance used to run in its own thread. In the Browser Process, for
in-process extensions, they'll run in a dedicated extension thread. In
the Extension Process, they'll run on the main thread. Of course,
extensions still have the freedom to create their own threads.

Two main reasons for changing execution model are:

(a) In practice our use cases for external extensions, instances needed
to interact with glib-based libraries, and all the callbacks ended up
going back to the main thread. We were not collecting much benefit of
implicitly creating threads.

(b) Sharing data between instances now will be easier, since it won't
imply sharing data between multiple threads. One common problem is that
when writing instances, the jump from "simple case" to "multithread
bugs" was too small. It was too easy to face race conditions without
being aware of them.

One notable change is that we stop using XWalkExtensionRunner
abstraction. Now that we have an object dedicated to manage the
instances (XWalkExtensionServer) we don't really gain much from the
indirection -- as can be seen in the patch diff.
Remove XWalkExtensionRunner abstraction

We don't use this anymore. It made sense back in time when there were
not a specialized object to handle instances (we now have
XWalkExtensionServer) and when there was complex logic involved in
running each instance in a separated thread.
Remaove post_message callback from CreateInstance()

Instead of passing the same callback everytime an instance is created,
we may use the (already provided) SetPostMessageCallback() method.

This is preparation for the next commit, if we didn't this first we
would need to add another callback to CreateInstance to maintain consistency
which would increase the noise generated by the change.