Introduce collection of clauses.

Clauses can have variables, so that they extend Declaration. But a
specification or a behavior can have a collection of other clauses, such
as a collection of behavior, represented by an identifier.

To build a collection of clauses, we need to instance the Collection
class with a preset clause and post-clone function. For each new offset
in the collection, the associated value is a clone from the preset
clause with the post-clone function applied on this clone. This
mechanism allows us to build modular collection of clauses.
[auto] Merge from Praspel

    • #a47252b — Introduce collection of clauses. (Ivan Enderlin, 2013-04-16)

---

Merge remote branch 'library-praspel/master'