This commit adds the python_2_unicode_compatible decorator to all models that define a text representation. Furthermore, it adds a test to ensure that we never forget to do that. It is explained in details in the Django docs: https://docs.djangoproject.com/en/dev/topics/python3/#str-and-unicode-methods
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.