Improve locality and state uniqueness restrictions by using a NullCharField

This allows multiple locality entries with different postal codes but no
locality name to exist.  It also does the same thing for multiple state
entries with different state codes but no state name.

I also added the migration necessary for this with South, and created the initial
0001 migration based of the models before I changed them.  The initial migration 
might be useful to have regardless of whether you want the other changes. 

I made these changes because I was having issues where addresses with just a 
postal code but no locality name (or just a state code and no state name) were being 
saved as the first postal code that had a blank locality name instead of what was
actually entered.  This may be particular to my case, so you may or may not want 
this added.