fix: init PID 1, ls -l permissions/size, doom dynamic linking
1. Init process now gets PID 1 (like Linux): next_pid starts at 2,
sched_assign_pid1() explicitly assigns PID 1 to the init process
after it loads. Kernel threads and AP idles get PIDs 2+.
2. ls -l now shows permissions, nlink, size via stat() on each entry
instead of just the type character.
3. doom.elf Makefile switched from static linking (libulibc.a) to
dynamic linking (libc.so via ld.so) like all other user commands.