ENH: to_csv write multi-index columns similar to how they are displayed in to_string
ENH: Allow read_csv to handle multi-index in columns

     GH3571, GH1651, GH3141
TST: more test cases

ENH: catching some invalid option combinations

BUG: fix as_recarray

DOC: io.rst updated
ENH/CLN: refactor to support PythonParser as well as CParser
BUG: unnamed columns in a multi-index will be named like: Unamed 2_level_0, so they are not duplicated

ENH: add options ``multi_index_columns_compat`` both to to_csv and read_csv (default is False),

    to force (when True) the previous behavior of creating a list of tuples (when writing), and
    reading as a list of tuples (and NOT as a MultiIndex)