fix #980 Correct MultiAutoComplete initialization when bound data is not empty

When freeText option was set to false, items already present in the data model to which the value of the widget is bound were not taken into account.
This commit reverts a fix done for another bug within commit 41d50bfe63ce93bc8d3116d28aeeb753d136b9dd: when freeText is equal to false, type some text for which there is no suggestion. Then blur. Then click inside the field and type something for which suggestions are returned. Pressing ENTER would cause all items to be duplicated.
refactor MultiAutoComplete unit tests

Using class `test.aria.widgets.form.autocomplete.multiautocomplete.BaseMultiAutoCompleteTestCase`, all MultiAutoComplete testcases have been refactored.

Close #982
fix #983 Error tip is now positioned relative to the invalid entry
feat #985 MultiAutoComplete: public methods for highlighting

Close #985.
doc JS Doc errors for aria.utils.Json.setValue

Close #990
onBlur support added to TextInput

All inheriting widgets also benefit from this feature.
onClick support added to MultiAutoComplete.

Closes #989
fix #1002 Travis build failure due to npm SSL error

Let's disable certificate check temporarily (before we migrate to Node
0.10).

Close #1003.
fix # Fixing invalid entries

This commit fixes a problem with the multiautocomplete when you have 2 suggestions, like Milano & Miami (so both starting with "mi") and the user types "mi" and press enter, an error tooltip is displayed. The fix remove the fact that the error is displayed.
fix #1005 Adding multihighlight feature for range values

When a range value is typed, all the suggestions are now highlighted.
fix #1001 UTC date was wrongly formatted
feat #994 MultiAutoComplete: Highlighted mode interactions

This pull request allows users to do the following:
1) When the user left-clicks on an item (that is not already highlighted),
it becomes highlighted (if any other was already highlighted, it becomes
de-highlighted)
2) When the user left-clicks on an already highlighted item, the latter
goes into edit-mode.
3) When an item is highlighted, pressing the backspace key removes the
item and the previous one becomes highlighted. If there is no previous
one, the following one becomes highlighted
4) When an item is highlighted, pressing the delete key removes the item
and the following one becomes highlighted

Close #994.
Expanded Button feature for MultiAutoComplete
fix #1014 Adding MultiAutoComplete highlight properties in AriaSkinBeans

In commit d31b18d16fb9d20413ebb1e8d702e68c82dd6582 (corresponding to #985),
some properties were added to the skin, but were not added to AriaSkinBeans.
This commit adds these properties to AriaSkinBeans.
feat #941 Added color animations and show/hide features, relative sizes and anim control (skip/pause/resume)

- implemented color animations (color name, hexadecimal or RGB notation are accepted)
- show, hide and toggle methods display or hide elements by animating "height", "width" or "opacity" properties
- values like "+=50px" or "-=5%" are accepted
- skip, pause and resume methods for both animations and queues are provided.
- deleted color list except for the 17 fundamental ones
- some minor code improvements
Close #941
fix #1013 Data model undefined when mac in error state

This commit fix a problem with the MAC that was resetting the data model to undefined when the user was inserting an invalid item.
fix #1019 MultiAutoComplete data model update and onchange listener

This commit fixes an issue with the onchange handler not being
called properly when removing options with the close button.
It makes sure the data model is updated properly, and the onchange
listener is called, and called only once when there is a change
in the widget value.

Before this commit, the checkValue method on widget controllers
was called in 2 different cases (for widgets with a drop down popup):
- when a new value comes from the data model bound to the widget
- when a value is selected in the drop down popup.

For the MultiAutoComplete, those two use cases have to be handled
differently, especially because the type of the value is different
(an array of objects in the first case and a single object in the
second case). So, this commit introduces a new method, called
checkDropdownValue, which is now called instead of checkValue in
the second case. This simplifies the code and makes it easier to read.

This commit also moves some code from the widget to the controller to
make the code of the MultiAutoComplete more consistent with other
widgets.

Also, this commit fixes some other issues linked to the "expando"
mode (now the popup stays open to allow checking and unchecking several
options).

Close #987
doc Callback in `Json.addListener` can't be a function

Since it's very untypical, it should be emphasised.

Also, documented when `responseJSON` is available.

Close #1010.
Close #1012.
feat #999 - Added new asserts methods

assertNull, assertNotNull, assertUndefined, assertNotUndefined, assertTruthy, assertFalsy

Close #1004.
fix #1020 Adding properties to the atflatskin for the MAC

Adding the properties in order to display the MultiAutoComplete widget with the atflatskin.
fix - old opacity value is stored in fullValue property