Colocation is allowed on _at least_ 2 primitives

Previous code limited colocation to exactly 2 primitives, while it's no problem to colocate multiple primitives together.
Also parsing >2 colocated resources

Previous commit allowed to define >2 resources for colocation, but didn't allow parsing of the CIB to reflect that. This commit adds parsing. Important: the 'crm' command handles colocation between 2 resources differently than between >2 resources (then it creates a set). To make matters even worse, they both have opposed ordering: 1->2 but 1<-2<-3. This provider now orders as you would expect, 1->2 or 1->2->3.