Add extra dict-like functions to ConstrainedSet.

When the choices object is dict-like, the set should gain extra methods.
Fix ConstrainedSet for Py2.
Add django support.