BUG/TST: read_html should follow pandas conventions when creating empty data
closes #5129
closes #6445

This a very specific bug fix. Only using `lxml` exposes this bug, whereas using
`bs4` raises an exception. `lxml` drops data which allows it to parse the multiindex
header differently and succeed.

@jreback what do u think about this? this bug makes me think we should change the default flavor to `bs4` because that forces you to say "i'm ok with dropping data" whereas bs4 will keep data raise b/c there's empty data in the header rows
 of course that is backwards incompatible .... but only in very few cases i think ... just not sure ... it's annyoing that the two parsers will not parse the same gvien the same data
 regardless ... the nan should be changed to the empty string bc that's how the text parser detects empty multiindexes
 no idea as I really don't use this

go with consistency if u can
 @jreback going to merge after travis passes ... 
 sure
 Alright I'm going to reopen this, I screwed something up with `git`.
