Make adding a node to a cluster give all roles from that cluster to node

When a cluster already exists and is already used for, say, keystone,
applying the pacemaker proposal with a new node (to extend the cluster)
failed because that new node was not aware it should have the other
roles (keystone).

To fix this, we need to take some logic from apply_role inside
apply_role_pre_chef_call from pacemaker to ensure that all nodes have
the required roles, and also to ensure that we call
apply_role_pre_chef_call from all the required barclamp (we only do this
when we add a role).

It's also important to run apply_role_post_chef_call for each barclamp
where the new node was missing.