Added generic assoc/unassoc.

This was feasible because I've added a new typeclass `Modifiable`
which knows how to modify a property (yeap, the same Speech idea). Is
there any better way to do so? (monads, monoids...)

Anyway, assoc and unassoc require the container to be modifiable in
order to make feasible the link between entities.