osproc: Raise exception if execv fails in child process

- use `clone(CLONE_VM|CLONE_VFORK)`+`execv` on Linux instead of `posix_spawn`,
- pass error code using pipe from child - when using `clone` or `fork`.

Also:
- introduces `lib/posix/linux.nim` file to contain Linux specific C functions,
- fixes #700.