Fix list of clusters not being refreshed after creation of a cluster

Because we use a eigenclass, we cannot cache the list of clusters: the
cache will be valid during the lifetime of the eigenclass (ie, always).

What we wanted is a cache that is valid for the lifetime of a request,
so it will be up to the callers to cache this.

Note that we drop the cluster_exists? method as it's actually only used
internally and this requires a call to available_clusters. Instead, we
cache the result of available_clusters in the caller and directly check
there if the cluster exists.
Fix logic error in prepare_role_for_ha_with_haproxy

We want to call prepare_role_for_cluster_vip_networks even if dirty is
already set to true.
Merge pull request #21 from vuntz/brokenness

Fix code that got broken between rewrites
Generate a unique multicast address for each proposal

We could do that for the multicast port too, but reading on the web, it
seems people more common to use multicast addresses for this (and this
helps avoid bugs that would be caused caused by the fact that we need
two ports for corosync, not just one)
Allow multiple proposals
Merge pull request #24 from vuntz/multi-proposal

Allow multiple proposals for pacemaker barclamp