Moar CSV fixes!

The `six` module does this:

Python 2:

```python
In [2]: six.text_type, six.binary_type, six.string_types
Out[2]: (unicode, str, (basestring,))
```

Python 3:

```python
In [2]: six.text_type, six.binary_type, six.string_types
Out[2]: (str, bytes, (str,))
```

And we could add `bytes` to `six.string_types` for Python 3.