Better support for null/blank=False

Since the default value of null is different here than in django by default, south needs to know it needs to keep track of it. That's the first commit.

The second commit mimic's the parent class's validation when null and/or blank have been manually set to false. This makes `model_instance.full_clean()` work correctly in this case.

More details on #27. Cheers.