process_utils: added execute_process_split() func

This function is identical to execute_process()
except it's output generator yields triplets,
(stdout, stderr, retched), every time with only
one being non-None each time, and stderr is
returned separately from stdout.