process: make Process.spawn more similar with Popen
process: make code more readable
process: allow args to be a bytes object
process: added more tests
test: fix IPC tests after Process.spawn refactor
common: add helpers for unicode / bytes manipulation
process: accept bytes and unicode in all arguments