Fixing vm and fork() issues

- proc_get_struct() doesn't have to and should not check if proc is in
  use, this check should be check in caller if need because eg.
  proc_get_random_pid() uses the function
- Fixed kaddr<->uaddr translation
- copyin() and copyout() should work now as expected with vm