Replace CsvUnicodeWriter with Python 3 compatible UnicodeCSVWriter

This required extending the UnicodeCSVWriter to be able to deal with
file-like objects as well. This is used to create downloadable CSV files
in memory.
Fix or ignore DeprecationWarnings in test suite

* WebTest throws a DeprecationWarning under Python 3 that we can't do
  anything about. Added to the excludes.
* assertEquals has been deprecated, renamed to assertEqual.
Python 3 fixes for NullCharField

The metaclass definition did not work with Python 3, to_python wasn't
called. Documented in:
https://docs.djangoproject.com/en/dev/howto/custom-model-fields/#django.db.models.django.db.models.SubfieldBase

Also clarified logic of the to_python logic.