clustermesh: introduce Observer interface to favor extensibility
Currently, the list of prefixes watched for each remote cluster, and the
logic to handle the corresponding watch events is strongly coupled with
the clustermesh implementation itself. However, this has the downside of
increasing the overall complexity, and making it difficult to add the
support for new prefixes, both in-tree and by downstream projects.
As an initial effort towards decoupling, let's introduce the [Observer]
interface. Once hooked into place via the subsequent commits, new
observers could be simply introduced implementing this interface,
and providing it via hive, without having to modify and extend the
underlying clustermesh logic.
Signed-off-by: Marco Iorio <marco.iorio@isovalent.com>