Should not need to call archive_write_finish_entry

archive_write_close should take care of that
Don't use BOOST_SCOPE_EXIT
Don't use leading _ in identifiers

You technically aren't supposed to do that'
Less scope
Fix -Wreorder
Use static, private method instead of static function