Add a 'NOT_IN' constraint

It basically works like a not-CHOICE constraint execpt that it accepts
an empty list (or no list at all).

While there, add tests for the CHOICE constraint.
Merge pull request #7 from GeJ/master

Add a NOT_IN constraint (and make 'IN an alias for 'CHOICE')