Add Readme and PeaZip 5.4.1 source files from http://sourceforge.net/projects/peazip/files/5.4.1/peazip-5.4.1.src.zip/download.
Add check for the existence of an intermediate directory after archive extraction.
Add infinite loop to "Extract here (new folder)" to be able to attach debugger to process.

To debug: add a breakpoint to the sleep(100) line. Right click an archive -> Extract here (new folder). In Lazarus attach to the process via the PID in task manager. Once attached, continue (F8) until the breakpoint is hit. Then Run -> Evaluate/Modify (Ctrl-F7) Pause := False and continue (F8) to the next breakpoint.
Implement moving of intermediate directory's content up a level.

Intermediate directory is deleted afterwards.
Add XML documentation to new methods.
hasintermediatedirectory: wrap directory access in a try statement.
Refactor intermediate dir test into a class implementing a callback interface.

TIntermediateDirectoryNormalizer implements the "IPostExtractionCallback" interface, so the object can be configured in ext2here() with the required information and then passed on to launch_cl (via directextractfromname()) to execute in the extraction thread, after extraction is finished.
Execute the callback after extraction finishes.

Configure the IPostExtractionCallback in ext2here, pass it to directextractfromname and on to launch_cl, where the Execute method is called after extraction is complete.
Add GitHub Delphi gitignore
Revert "Add infinite loop to "Extract here (new folder)" to be able to attach debugger to process."

This reverts commit 55799097a2937fb3ff8958cb536bd603ffe928c4.