Description

This is a proposal for a configuration able to be reloaded automatically when
its source has changed. The implementation consists in :

a PersistentConfiguration interface extending the Configuration interface and
adding the load() and save() methods.

a ReloadableConfiguration acting as a decorator around an existing
PersistentConfiguration and intercepting the calls to the various getXXX methods
of the Configuration interface to trigger a reloading if needed.

a ReloadingStrategy interface deciding when the configuration should be
reloaded.

An implemention of the ReloadingStrategy for file based configurations is
provided in the patch.