Up to now, the file was opened, then DoxyfileParse() was invoked, then the file
was closed. If DoxyfileParse() throws an exception, the file would not be
closed. The new solution auto-closes the file in any case.
In DoxyfileParse(), the 'file_contents' parameter is a <bytes> object.
Since the shlex.shlex() member doesn't accept <bytes> objects, we
convert it to a <str>.
There is a problem with 7674543f, in that if HTML_FILE_EXTENSION or
MAN_EXTENSION is not specified, we'll try to concatenate a string with
None, and get a type error. We should check that they are set before
trying to use them.
Set output_formats["MAN"] to "NO", by default, as suggested at
http://www.scons.org/wiki/DoxygenBuilder#Note_added_by_Reinderien. Despite
what the Doxygen docs say, GENERATE_MAN is off by default, and a
browse of the source suggests that it's been that way since at least
2008 / Doxygen 1.5.7.