extract: implement extract_helper context manager
extract: implement extract_helper context manager

Most code of the CM is just moved 1:1 from the regular file block.

Use the CM for regular files, FIFOs and devices, but not for:
- directories (can not have hardlinks)
- symlinks (we can not support hardlinked symlinks)

edgimar/borg,edgewood/borg,edgewood/borg,edgimar/borg,edgimar/borg,raxenak/borg,RonnyPfannschmidt/borg,RonnyPfannschmidt/borg,edgewood/borg,raxenak/borg,edgewood/borg,raxenak/borg,RonnyPfannschmidt/borg,raxenak/borg,edgimar/borg,RonnyPfannschmidt/borg,RonnyPfannschmidt/borg