make _patchrow/_patchcol back-end only prims

there's no need to expose these in the language, even with double
underscores
wip adding syntax-only prims under core.prim
wip redo let-handling code

all tests that handle correct code are passing.
some tests on incorrect code, fail.