Add invariant support

Adds invariant support as a subelement tag of model having a dotted name for data. dotted name must point to a function that provides plone.supermodel.interfaces.invariant.

If we add this, I'll do the documentation in plone.app.dexterity