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>
fixup: add a split_error to all save_part_by*() functions

The function build_cmd_split() need this to work correctly.

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

Conflicts:
	scripts/sbin/ocs-functions
Move the compression check just above the message output

The goal is to minimize the difference between the save_part_by_*() functions.
Move the full disk test in image_save()

The test is done before to erase the ntfs's swap files, so the source is
not modified if the destination does not have enough space to beging with.

save_part_by_partimage() did not test the disk space, so it gains it.