Make the server feature list dynamic

Description

Currently the list of features supported by the server is built when IQDiscoInfoHandler is initialized. We could modify IQRouter#addHandler(IQHandler) and IQRouter#removeHandler(IQHandler) to update the features list. Moreover, IQDiscoInfoHandler could store the list of ServerFeaturesProvider instead of the featues itself. This last modification may let ServerFeaturesProvider turn on/off a feature without having to remove the IQHandler.

Environment

None
Fixed

Assignee

Gaston Dombiak

Reporter

Gaston Dombiak