Testing whether a reader class is enabled *before* calling it, otherwise the test is never reached.
For example, if Markdown hasn't been installed, and you attempt read_file('foo.md') then an exception is raised in MarkdownReader.__init__ as it tries to call Markdown, which is False.  The class field "enabled" was not checked before attempting to instantiate MarkdownReader.  Instead, there is a later test on the instance, which won't be reached.
Allow HTML files with meta tags that don't have a "name" and "content" field to be read by the HTMLReader.
For example, "<meta charset="utf-8" />" might appear in an HTML document.  Without this change, this causes an exception.