ENH: allow fallback when lxml fails to parse
why do you have raise_on_error and flavor?
 because if `raise_on_error=False` and `flavor='lxml'` throws an `XMLSyntaxError` then a parse will be attempted with bs4 + html5lib if installed. if `raise_on_error=True` then the error will propagated
 i thought that was the desired behavior per the many exchanges we had + the mailing list, no?
 do you still want me to implement the flavor list functionality? i can still do that...
 I thought it was clearer to do:

`flavor=None` : lxml, then fallback (deafult)
`flavor=[bs]` : just do bs
`flavor=[lxml,bs]` same as default

gets you same resutl, but only 1 kw
 you just try with all the flavors you are given (and default to both), then if you have reached the end of your flavors list and still haven't parsed, raise.....
 ok doing it now...
 u r right that is much more clear
 looks good...ready to merge?
 not just yet running tests i missed a format string and changed an exception type, almost finished
 ok...np..lmk
 AH ur killing me smalls!
 isn't lxml supposed to install? https://www.travis-ci.org/pydata/pandas/jobs/7842837
 i see it installed by apt-get...i though it was installed by pip. let me take a look
 yes but print_versions not showing it
weird
 i got it. `bs4` is installing it. there might be a build caching issue that i didn't take into account 
 i really admire whoever spent the many many hours it probably took to get travis working. really. sheer willpower.
 GAAH! i didn't know python3 has changed the scope such that exceptions raised in a loop don't leak to their outer scope!!!
 wow and it even clobbers an existing binding, this is so annoying.
 ``` python
for i in range(10):
    try:
        raise Exception()
    except Exception as e:
        pass
print(e) # raises a NameError or UnboundLocalError
```
 now i see it in the [docs](http://docs.python.org/3.0/whatsnew/3.0.html#changes-to-exceptions)
 either way if this passes i will squash and it is ready 2 merge (FINALLY!)
 YES IT PASSED!!!!! @jreback this can probably be merged BUT, i think it would be prudent to wait a few hours just in case...or i think of some more tests to add.
 hahha...ok...lmk
 ok...ready to merge this?
 yep this is good 2 go. shall i merge?
 yes...fyi you can assign yourself to issues
 then you can see your assigned tasks! a personal list
 oh yes! i forgot about that. thanks.
 you assign other people too! (but I don't think anyone actually does that)
