Define build_cmd_split() to reduce code duplication

This is a first step to unify the code of save_part_by_*() functions and
have better error handling.

build_cmd_split define a variable to avoid to spawn a subshell, which
would be slower. The variable encapsulates Use a variable to encapsulate
the command to be used to process the compression's output.

Signed-off-by: Patrick Rouleau <pfrouleau@gmail.com>
Rewrite the save_part_by_*() functions as a command chain

From this point, we try to define the clone operation as a chain of 3 tools:
- the cloner,
- the compressor, and
- the splitter.

Each one have its own inner working, but they can always be piped as:
cmd_chain="$cmd_clone | $cmd_compress | $cmd_split"

This is a second step to unify the save_part_by_* functions and have a
better error handling in the end. The error handling will have to work with
PIPESTATUS, since $? only contains the result code from the last command
used in a pipe chain.

Signed-off-by: Patrick Rouleau <pfrouleau@gmail.com>