Dynamically populate constraints in Field.contribute_to_class

I’d quite like this to work. To generate check constraints from choices would be great.

I’d be inclined to reduce that to a test case. Much easier to get people to comment against running code.

Q: does it work generating migrations when you change the choices? (Showing that in a test too would be handy.)