LZHの4GB超対応

ZIPに続き、LZHも4GB超ファイルに対応しました。
raw_lzh_file_sink_impl.hppの差分
実際には随分前に4GB対応したつもりだったのですが、ディスク容量の都合でテストできず、バグったままになっていました。
試してみると、ヘッダの内容が同じであるにも関わらずUNLHA32.DLLに不正な書庫と怒られてしまいます。
UNLHA32.DLLで生成したものと比べると19バイト小さく、どうやらファイルの頭が切れているようでした。
もしかして、ヘッダでファイルイメージを潰してしまった(注:最初は圧縮後のサイズが分からないのでヘッダは二度書く)のかなと考え、19バイトの拡張ヘッダを探したら、ファイルサイズ拡張ヘッダでした。
で、コードを見直したら、圧縮後のサイズが不定の場合はファイルサイズ拡張ヘッダを出力しないようになってました。
う〜ん、2回目のヘッダを出力する際にサイズに制約を付けておかないとマズいかもしれません。