Add support for constraints, and fix all the unit tests.

Django Evolution has been somewhat broken with respect to constraints
for a while now, and unit tests for MySQL have not been passing due to
this.

This change adds proper support for constraints. It has been tested with
sqlite3, MySQL (InnoDB and MyISAM), and PostgreSQL.

Fixes bug #127