libarchive: Avoid left-shift overflow of signed integer

In libarchive/archive_write_set_format_zip.c there are two calls to
archive_le32enc whose second argument is of the form

 archive_entry_mode(zip->entry) << 16

However, the return type from archive_entry_mode may be a signed integer
so the shift may overflow.  Since the second argument of archive_le32enc
expects uint32_t anyway, simply cast to that prior to shifting.
Merge topic 'update-libarchive' into next

6ab7c326 libarchive: Avoid left-shift overflow of signed integer