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.