New CommandPiper, WIP

It's rewrite of the module to use fifos instead of pipes and bash process
substitution.
Reason for this is that running process substitution cause issues when you
run the command, and expect to have results ready when command finishes.
With fifos and "wait" it is safer.
Needs documentation and tests, but the code seems to be working ok.
Added documentation for new O:T:CommandPiper
Forgotten from previous commit

Modify Program::Backup to work with new CommandPiper.

The change itself is simply, instead of calling "bash -c long;script",
write the script to temp file, and run it via "bash /path/to/script"