fix bug returning const registers when shouldn't

it wasn't correctly checking for a register to be const before
converting to const ID and returning whatever it was
implemented recv instruction & send function

also:
* fixed newproc to actually store the pid of the new process
* added core.pid function
* fixed a few schedule issues with multiple processes