read_html() drops duplicate tables when <tr> missing
#### Code to reproduce:

```python
passes1 = '''<html>
<head>
<title>test</title>
</head>
<body>
	<table>
		<tr>
			<td>a</td>
		</tr>
	</table>
	<table>
		<tr>
			<td>b</td>
		</tr>
	</table>
	<table>
			<td>c</td>
		</tr>
	</table>
</body>
</html>'''

passes2 = '''<html>
<head>
<title>test</title>
</head>
<body>
	<table>
			<td>a</td>
		</tr>
	</table>
	<table>
		<tr>
			<td>a</td>
		</tr>
	</table>
	<table>
		<tr>
			<td>b</td>
		</tr>
	</table>
</body>
</html>'''

fails1 = '''<html>
<head>
<title>test</title>
</head>
<body>
	<table>
		<tr>
			<td>a</td>
		</tr>
	</table>
	<table>
		<tr>
			<td>a</td>
		</tr>
	</table>
	<table>
			<td>b</td>
		</tr>
	</table>
</body>
</html>'''

fails2 = '''<html>
<head>
<title>test</title>
</head>
<body>
	<table>
			<td>a</td>
		</tr>
	</table>
	<table>
			<td>a</td>
		</tr>
	</table>
	<table>
		<tr>
			<td>b</td>
		</tr>
	</table>
</body>
</html>'''

import pandas as pd

df_passes1 = pd.read_html(passes1, flavor='bs4')
print("passes1", df_passes1)

df_passes2 = pd.read_html(passes2, flavor='bs4')
print("passes2", df_passes2)

df_fails1 = pd.read_html(fails1, flavor='bs4')
print("fails1", df_fails1)

df_fails2 = pd.read_html(fails2, flavor='bs4')
print("fails2", df_fails2)
```

#### Output:
```python
passes1 [   0
0  a,    0
0  b,    0
0  c]
passes2 [   0
0  a,    0
0  a,    0
0  b]
fails1 [   0
0  a,    0
0  b]
fails2 [   0
0  a,    0
0  b]
```
#### Problem description:

Each of the html examples contain one or more missing ```<tr>``` tags. When identical tables and missing ```<tr>``` tag(s) are present in html, ```read_table()``` with bs4 and html5lib flavors produce inconsistent results. This results in duplicate tables getting dropped from the created dataframe as seen in fails1 and fails2. I expect their dataframe produced to be the same as passes2.

#### Expected Output:
```python
passes1 [   0
0  a,    0
0  b,    0
0  c]
passes2 [   0
0  a,    0
0  a,    0
0  b]
fails1 [   0
0  a,    0
0  a,    0
0  b]
fails2 [   0
0  a,    0
0  a,    0
0  b]
```
#### Output of ``pd.show_versions()``

<details>

```python
>>> pd.show_versions()

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

pandas: 0.20.3
pytest: None
pip: 9.0.1
setuptools: 36.2.7
Cython: None
numpy: 1.13.1
scipy: None
xarray: None
IPython: None
sphinx: None
patsy: None
dateutil: 2.6.1
pytz: 2017.2
blosc: None
bottleneck: None
tables: None
numexpr: None
feather: None
matplotlib: 2.0.2
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: 3.8.0
bs4: 4.6.0
html5lib: 0.999999999
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: None
s3fs: None
pandas_gbq: None
pandas_datareader: None
```
</details>
