BUG: pd.DataFrame.select_dtypes() method defaults None to float64 if arg is list-like
#### Code Sample

```python
>>> import pandas as pd
>>> df = pd.DataFrame({'a': [1, 2] * 3,
...                    'b': [True, False] * 3,
...                    'c': [1.0, 2.0] * 3})
>>> df.select_dtypes(include=None)
ValueError: at least one of include or exclude must be nonempty
>>> df.select_dtypes(include=[None])
        c
0       1.0
1       2.0
2       1.0
3       2.0
4       1.0
5       2.0
```

```python
>>> import numpy as np
>>> np.dtype(None)
dtype('float64')
```

#### Problem description

Currently the method deals with regular `None` arguments by turning them into empty tuples:
```python
if not is_list_like(include):
            include = (include,) if include is not None else ()
if not is_list_like(exclude):
            exclude = (exclude,) if exclude is not None else ()
```
If the `None` is contained inside a list-like object, however, this check is not executed and it goes through `infer_dtype_from_object` -> `pandas_dtype` -> `np.dtype`, where `None` is defaulted to `float64`.

#### Expected Output

`None` should be removed from list-like arguments, as to avoid unexpected results.

If having `None` defaulted to `float64` is not needed anywhere in the pandas codebase, modifying `infer_dtype_from_object` or `pandas_dtype` could be an option as to deal with the issue more globally.

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

<details>

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

pandas           : 0.25.1
numpy            : 1.17.2
pytz             : 2019.3
dateutil         : 2.8.0
pip              : 19.2.3
setuptools       : 41.4.0
Cython           : None
pytest           : None
hypothesis       : None
sphinx           : None
blosc            : None
feather          : None
xlsxwriter       : None
lxml.etree       : None
html5lib         : None
pymysql          : None
psycopg2         : None
jinja2           : 2.10.3
IPython          : 7.8.0
pandas_datareader: None
bs4              : None
bottleneck       : None
fastparquet      : None
gcsfs            : None
lxml.etree       : None
matplotlib       : None
numexpr          : None
odfpy            : None
openpyxl         : None
pandas_gbq       : None
pyarrow          : None
pytables         : None
s3fs             : None
scipy            : None
sqlalchemy       : None
tables           : None
xarray           : None
xlrd             : None
xlwt             : None
xlsxwriter       : None

</details>

#### Comments

Sorry if this is a duplicate or intended behavior, I couldn't find anything related to this specific issue. Also, it seems like this default is expected on the part of numpy.

If possible, I would like to volunteer to fix this bug (if considered valid), with some guidance.