[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.
[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.
[Extensions] Load extensions on demand for a subset of extensions
[Extensions] Remove unused function
[Extensions] Use a vector instead of a map for extension modules

In XWalkModuleSystem, use a vector instead of a map for extension
modules. The number of modules is small and we'll want sorted iteration
later to identify the extension modules that will use "trampolines" and
those that won't.
tmp
[Extensions] minor fixes
[Extensions] Add SetExtraEntryPoints to Extension C API

This will allow for Extension to inform if they have other entry
points (apart from the implicit extension_name), that should cause
the extension to be loaded.

For example, the "calendar" extension may export some constants in the
CalendarAppointment object, and we want the calendar extension to be
loaded when any of these "main" objects are accessed.
WIP: Integration with calculator