Factor out ensure_extracted_file_exists in FoiAttachment

This makes it possible to use the ensure_extracted_file_exists
wrapper in get_attachment_internal rather than get_attachment
*and* get_attachment_as_html without having to call body and
have the performance hit of reading the file from disk an extra
time in the typical case.