Fix the issue File Download Crash in Debug mode

Crosswalk hits DCHECK_NE(content::DownloadItem::kInvalidId, id) failed, since
chromium upstream improved the code, we needed to override the virtual function
GetNextId().
Please see: https://codereview.chromium.org/15584002
This CL also fixed FileDownload error in Linux trybots.

https://github.com/crosswalk-project/crosswalk/issues/888
Remove GTK code from xwalk

Since we're always using aura on linux desktop, GTK-related code in xwalk is deprecated and should be removed.
[Extensions] Test extensions with nested names

Add a test for nested extension names. This models our use case for
Tizen-Extensions-Crosswalk, that have the "tizen" extension as well as
many "tizen.*" subextensions.

The second test is disabled, but will serve to check whether we load a
"leaf" extension on demand.
Merge pull request #890 from cmarcelo/nested-test

[Extensions] Test extensions with nested names
Merge pull request #896 from yinli/FileDownload

Fix the issue File Download Crash in Debug mode
Bump version to 2.31.18.0
Merge pull request #899 from pozdnyakov/Remove_GTK

Remove GTK code from xwalk
Fix the issue that getUserMedia can't work on Linux, Tizen and Windows platform

This is a general fix on Linux, Tizen and Windows platform, since the chromium rebasing
resulted in this issue.
XWalkMediaCaptureDevicesDispatcher::RunRequestMediaAccessPermission wasn't running.
Merge pull request #901 from yinli/getUserMedia_Linux

Fix the issue that getUserMdeida can't work on Linux, Tizen and Windows ...
[Extensions] Add --enable-loading-extensions-on-demand switch

Runtime switch to protect the implementation of on demand loading of
extensions ("lazy load") until it's done, when we change the semantics
to be --disable.

In the release this feature debuts, we keep the disable switch to allow
QA disable if needed. After we succesfully ship one stable Crosswalk
with the feature (it will be Crosswalk 2), the current plan is to remove
the switch, because we don't intend to keep the codepath for the
non-lazy behavior.
Merge pull request #909 from cmarcelo/load-on-demand-switch

[Extensions] Add --enable-loading-extensions-on-demand switch
[Android] The first step to fix the resource id generation for core library.

Currently the resource ids for org.chromium.ui and org.chromium.content
are not generated so the web app will crash when running. Because
the container can't get the resources and their ids.
This patch is the first step to copy necessary resources from these two
targets to xwalk core library. The next step is to generate the correct
R.java.

BUG=#862
Merge pull request #906 from yongsheng/862

[Android] The first step to fix the resource id generation for core libr...
[Extensions] Refactoring XWalkExtensionService::RegisterExtension

Nowadays our XWalkExtensionService is only capable of handling
one RenderProcess. Thus, it only has one in_process XWalkExtensionServer
for handling internal extensions. Soon enough this will considerably
change and we will have to be capable of handling one in_process
XWalkExtensionServer per RenderProcess.

This patch is the first step towards this: internal extensions
will be created directly by the XWalkExtensionService::Delegate
"on-demand" every time a new in_process XWalkExtensionServer
is created for a new RenderProcess and it is time to register
the internal extensions on it.

The entity implementing XWalkExtensionService::Delegate is
XWalkBrowserMainParts. This way we keep the old behavior and design
not polluting XWalkExtensionService.

Necessary adjustments were made to RegisterExtensionsCallback and
browser_tests for the same reason.