Fixes related to mutl-domain deployments

Now the external-domain-checker returns a list of local domains that can be reused between calls of ChannelManager.isLocalDomain(), ChannelManager.isLocalJid() or ChannelManager.isLocalNode(). 
It drastically improves the perfomance of disco#items, purging remote cache, etc,... and allows for a selective query of local nodes.

Since HSQLDB is not fully compliant with postgres, I had to Mockito.spy the SQL connection object in the tests in order to replace **~** with **regexp_matches**.
Why are we passing this value around as an argument when it can just be called internally?