refactor #1079 Move MAC tests

Multiautocomplete is another widget, not a subfeature or Autocomplete

Close #1079
fix #1083 tooltip issue when there are quotes in the string
feat set/removeDataset methods

This commit introduces two methods to manipulate dataset attributes in HTML element:

* `aria.utils.Html.setDataset`: it allows to specify an object containing key-value pairs of dataset attributes. It uses the keys to add the right attribute, and the values to assign the correct values to them.
* `aria.utils.Html.removeDataset`: it allows to specify an object whose keys will be used to remove dataset attributes.

This feature is compatible with the implementation of `aria.utils.Html.buildAttributeList`, which does not convert camelcase attributes to their dashed counterpart. However, this lack of processing is deprecated (#499). Backward compatible code will have to be removed also from the code added by this commit.
fix #1063 section attributes binding improvement

This commit introduces the following fixes:
- when section attributes are bound to the data model, changes in `dataset` and `classList` are now taken into account
- the binding can now be recursive or non-recursive
- when the className of the section container is changed via the section wrapper classList, the data model is correctly updated.

It also removes method `aria.templates.SectionWrapper.setClassName` which has been removed from class `aria.templates.DomElementWrapper`, so thet it did not actually work.

Close #1081
feat ##### Deprecation of cssClass in sections and repeaters

`cssClass` property in section and repeater configuration is now deprecated. It has to be replaced by `attributes.classList`.

In the specific case of the `childSections` configuration for the repeater, the `cssClass` could be a function like any other property, with the peculiarity that the function was called every time a change occurred in the bound map/array. This allowed to implement pyjama tables.
With this commit, this feature is replaced and enhanced: if the `attributes` property in the `childSections` configuration is a function, it is called every time there is a data change and its returned value is used to update the section attributes of each entry.