feat #1042 deterministic hash for builds; change md5 to murmurhash3

1) Let all the files except bootstrap not include build date and version,
making it possible to have (nearly) deterministic hashes of packages
(they'll only change once a year if no content changes).

2) Change hash appended to built files' names from 128 bit (32 bytes) MD5
to 32 bits base36-encoded (<=7 bytes) MurmurHash v3.

In practice, the risk of collision is still extremely low yet we gain a
few kilobytes less in output code size due to urlMap entries being shorter.

Close #1042.
Close #1060.
feat #1031 Removal of TemplateCtxt.getDomId method

Method `getDomId` of class `aria.templates.TemplateCtxt`, deprecated in version 1.4.12 (200f52d1031c9411601214675df8bab8697b8f98) has now been removed.

Close #1031
feat #1037 Removal of backward compatibility for class aria.utils.History

Class aria.utils.History was kept backward compatible with respect to a previous implementation.
Deprecation was done with commit b3a657997f650bcb8d6316ecae97208c36e84886.

Close #1037
feat #1035 Removing deprecated property sprType

This commit aims to remove the deprecated property sprType

Close #1035
feat #1034 Disable method events by default

Backward-incompatible

This commit changes the default value of `this._enableMethodEvents` to
`false` in the `ModuleCtrl` class. The implications of this change are the
new default behaviors when calling any module's public method, as follows:

- no interceptors are added, the methods are called directly
- no events `methodCallBegin`, `methodCallEnd`, `methodCallback` are
  raised
- RefreshMgr is not automatically paused for the span of the call to
  the module controller's method

This commit should bring some performance gains.

In case the developer wants to continue having the old behaviors, he
should set `this._enableMethodEvents = true` in the constructor of his
module controller, *before* calling the parent constructor.

This commit also removes the calls setting the mentioned variable to
false, since they're not needed anymore.

Close #1034.
feat #1046 Removal of contentMacro property in aria:Dialog widget configuration

The `contentMacro` property in the configuration of the aria:Dialog widget
is no longer available.
It was deprecated in version 1.4.10 (commit 7ff840a41bd8fb23163f2366e36465b180acfd26)
in favour of `macro` for consistency with the `section` statement configuration.

Close #1046
feat #1043 Removal of bindRefreshTo statement

`bindRefreshTo` statement was deprecated in version 1.4.2 (commit 9596760c59ca923ab03c91c3b935e65a7cd5b36f). It is now removed for good.

Close #1043
feat #1047 Removal of bindValue from touch:Slider widget configuration

`bindValue` property of touch:Slider widget was deprecated in favour of
`bind.value` in version 1.4.11 of Aria Templates (commit 8adab6b52234c71c275e990030f78e3a337c245a).

The property is now removed.

Close #1047.
feat #1045 Removing deprecated resources

This commit removes the deprecated resources: cn_CN, ko_KO, sp_AR, tw_TW

Close #1045
feat #1051 Removing touch:Dialog in favor of touch:Popup

Removing the deprecated widget touch:Dialog in favor of touch:Popup

Close #1051
feat #1054 Removal of iconLib Widget

Close #1054
feat #1058 section, TabPanel, Tooltip and Dialog cannot be used as containers. $refresh signature change.

This commit introduces the following changes:
- `section` statement cannot be used as a container. Its `macro` configuration property is now mandatory.
- `filterSection` and `outputSection` can no longer be used in the parameter passed to the `$refresh` method of the `TemplateCtxt`. They are replaced by the `section` property (`{section : "sectionId"}`). It is also advisable to stop specifying a macro as a second parameter, as each section now comes with a mandatory macro.
- `aria:Tooltip` widget can no longer be used as a container. The `macro` property of its configuration is hence mandatory.
- `aria:TabPanel` widget can no longer be used as a container. The `macro` property of its configuration is hence mandatory.
- `aria:Dialog` widget can no longer be used as a container.

The corresponding features were deprecated in version 1.4.10 (commit 222411636510b08270641db78fd9a8463d078f8b).

Close #1058
Now escaping is actually done automatically for expression statements.

## Code improvement

Implementing the feature didn't require a lot of code change (basically just removing the code keeping the backward compatible mode). However, the code required some cleaning. The comments/JSDoc as well have been improved.

- implementation of the feature (in the Statements class)
- implementation and tests for the modifier implementation: notably adding the documentation for the "arg" argument (corresponding to the "options" argument of the String utility, see next point)
- implementation and tests for the related String utility implementation: notably it's easier now to understand how the "options" argument works

## Internal code update regarding the change

Expression intentionally outputting HTML have been identified and changed to disable the automatic escaping.

Concerned pieces of code are:

- some tests
- some widgets' templates
- the tester application
- the debug tools (contextual menu)

## Unrelated fixes

- the aria.utils.Bridge class can now actually load the development files of the framework (used for the debug tools).
- in JSDoc comments: some parameters were documented with the @param[in] syntax, which is not understood by the JSDoc parser we use, so I removed this syntax in favor of the usual one @param
Make locales build file more readable and diff-prone
Fixes the test for expression escaping on IE8.

Now trailing white spaces are removed since they are not relevant for content comparison.

Those white spaces were appearing on Internet Explorer 7 & 8 after the template file associated to the test has been reformatted.

Closes #1069
fix #1071 fixing auto-escaping issue in calendar widget

This commit fixes the issue introduced by commit
6584f219fad148129fa6de28cc434e1303405f9d in the calendar
template.
Auto-escaping now takes into account the case insensitivity of modifiers.

Modifiers are all defined with a lower case name in the framework, but the invokation of one of them can be done by specifying a name with any case: this name gets converted to lower case just before retrieving the actual modifier.

This means that users can write the name of the modifiers with any case, and the automatic escaping feature didn't handle that, thinking that escaping was not controlled by the user when the modifier was used with a case different that the hard-coded one.

Closes #1072