parasite: block signals for each parasite command

Pending signals should be saved, so signals should be blocked.
Signals are blocked for EACH command, because a chance of destroying a
process state should be a small as possible.

If crtools is killed between two commands, a dumped process will run
continue.
parasite: restore registers after each parasite command

Currenly we can restore blocking signals with help ptrace,
so if registers are restored after command, a process state
will not be corrupted if criu crashes.
parasite: modify process memory only for executing syscalls
ptrace: execute only one parasite commend for dumping per-thread data

We use two commands to get task registers safely. The first command
blocked signals, then crtools dumped registers and all per-thread data
and the the second command unblocks signals.

Currently signals can be blocked with help SETSIGMASK, so we need only
one command to dump per-thread data.
parasite: use only one command for executing parasite in a daemon mode

If a kernel supports PTRACE_SETSIGMASK, criu don't need to execute
PARASITE_CMD_INIT and PARASITE_CMD_DAEMONIZE, because the frist command
is used only for blocking signals. If criu crashes between these
commands, a process state will be corrupted, because all signals remain
blocked.