RF: add py3 wrapper around csv file opening

In Python 2, csv file objects need to be binary ('rb' or 'wb' mode). In
Python 3, they need to be text, but with ``newline = ''` (see
http://docs.python.org/3/library/csv.html#csv.reader).
BF: use open4csv compatibility function

Opening files for CSV read/write differs between python 2 and python 3.
Use compatibility wrapper.
BF: manual fix for csv writing in example

Use manual fix for Python 2 / 3 differences for clarity in example.
Merge pull request #255 from matthew-brett/py3-csv-fixes

Py3 csv fixes

More detailed testing revealed a subtle error in csv file handling for Python 3 and windows. The errors are the first and second errors here:

http://nipy.bic.berkeley.edu/builders/nipy-bdist32-32/builds/4/steps/shell_4/logs/stdio

It turned out that csv files need to be opened in different modes on python 2 and 3. Make a compatibility wrapper for that and work round it in one example where that might be an issue.