[Soc2014] Official meta API

I think I should rename FieldFlagsMixin to FieldMixin. I think there should be only one mixin class that everyone has to implement. On this class we should have all flags + properties that must be implemented.
With regards to belonging to Field, I would say no because:

1. Not all fields (or things that look like fields and that we want to treat as so) inherit from Field
2. Future users should not need to inherit from Field in order to implement custom fields, they should just need to comply to this interface
3. The mixin provides the interface, and it will raise exceptions if properties are not implemented