read_csv() breaks if passing `encoding` and characters 0x1C - 0x1E appear
#### Code Sample, a copy-pastable example if possible

```python
import io
import pandas as pd

stream = io.BytesIO(b'col_1,col_2,col_3\nfoo,bar,baz\nabc,de\x1cfg,hijk\n')
df = pd.read_csv(stream, engine='python', encoding='ascii')
```

Using `engine='c'` produces the expected output (my terminal renders 0x1C as a line break)

```
>>> pd.read_csv(stream, engine='c', encoding='ascii', na_filter=False)
  col_1  col_2 col_3
0   foo    bar   baz
1   abc  de
fg  hijk
```

However, using the Python engine breaks it:
```
>>> pd.read_csv(stream, engine='python', encoding='ascii', na_filter=False)
  col_1 col_2 col_3
0   foo   bar   baz
1   abc   de
  None
2    fg  hijk  None
```

Notice that there's an extra row and also some nulls, even though I explicitly set `na_filter` to `False`. (Also -- shouldn't those be NaN and not None?) Similar problems occur with the characters 1D and 1E.

#### Problem description

It appears that the control codes 0x1C, 0x1D, and 0x1E cause the Python engine to think the line has ended and treat the first character after the control character as the beginning of the next line, filling in the "missing" columns in the truncated row with `None` instead of `NaN`.

The reason why I'm using a `BytesIO` for the example is because my code is handed a `GzipFile` object, a binary stream. Python 2 doesn't support text mode for gzip archives. Theoretically I should wrap the stream in a [`TextIOWrapper`](https://docs.python.org/2/library/io.html#io.TextIOWrapper) before using it but I can't due to [this bug](https://bugs.python.org/issue33361) in *all* versions of Python, and we need to use both `readline()` and `seek` before reading the file. We also have to pass `encoding` because some CSVs are in ISO-8859-1 and we can't just pretend everything's ASCII.

#### Expected Output

Control codes should not be treated specially, and `read_csv()` should behave identically regardless of the engine being used.

#### Output of ``pd.show_versions()``

<details>

INSTALLED VERSIONS
------------------
commit: None
python: 2.7.15.final.0
python-bits: 64
OS: Darwin
OS-release: 17.7.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: None.None

pandas: 0.24.2
pytest: 4.3.1
pip: 19.0.3
setuptools: 41.0.1
Cython: 0.29.5
numpy: 1.16.3
scipy: 1.1.0
pyarrow: 0.10.0
xarray: None
IPython: None
sphinx: None
patsy: None
dateutil: 2.8.0
pytz: 2019.1
blosc: None
bottleneck: None
tables: None
numexpr: None
feather: None
matplotlib: None
openpyxl: 2.5.14
xlrd: 1.1.0
xlwt: None
xlsxwriter: None
lxml.etree: None
bs4: None
html5lib: None
sqlalchemy: 1.0.15
pymysql: None
psycopg2: 2.7.3.2 (dt dec pq3 ext lo64)
jinja2: 2.10
s3fs: 0.1.6
fastparquet: None
pandas_gbq: None
pandas_datareader: None
gcsfs: 0.2.1

</details>
