Fixes various bits in dev/proc

Previously, we couldn't cat something like /proc/1/ns reliably.
Sometimes it would work, others not.

There were two issues.  First, we needed to update 's', when making qids
in procgen.  We were spitting out qids for PID 0 when we were claiming
to make PID 1 (dir.name == "1", SLOT(qid.path) == 0).

The other issue is with pid_nth.  It iterates through processes, but
there is no ordering to it, and the ordering may change.  Based on which
processes are alive, you'll get different answers for your pid_nth
calls.  Meaning, when a qid is generated via pid_nth for a given integer
n, that same integer might not give you the same proc in the future.

It turns out that most uses of pid_nth were to check for existence,
given a pid.  pid2proc() is the function to call there (and it's much
faster than pid_nth(), not that it matters much).

I also touched up the comments related to qid.path construction, as best
as I could.
Beefs up chan debugging

I found print_chaninfo() useful.  Also, note the precautions for
intermediate chans (like the "nc" used in walks).