Added PersonnageImpl, PersonnageDecorator, PersonnageContract

Also added some classes to manage invariant errors, pre-condition and
post-condition errors