slightly stricter type checking for OfxParser.parse

BeautifulSoup's behaviour when passed None varies depending on which
tree-building library is available, but in some cases it will return
a valid document instead of raising TypeError when given None.

This patch makes OfxParser.parse check for a file-like object, so that
it's not sensitive to the particular behaviour of BeautifulSoup (and the
caller gets a nicer exception as well).
check for <OFX> element when determining whether a file is empty

Similar to commit 8bbb4d10, BeautifulSoup's behaviour also varies when
passed an empty file depending on which parser is in use. It will either
return an empty string (this is what the code is currently expecting) or
a skeleton <html/> document with no contents. But what actually matters
for OfxParser.parse is whether it has the <OFX> root element.
Merge pull request #65 from danc86/epel6-test-failures

Test failures when lxml is not installed, due to parsing differences in BeautifulSoup