optimizer: more optimizations for begin0

Move begin0 inside begin, for example
(begin0 (begin X Y) Z) ==> (begin X (begin0 Y Z))
Try to replace more begin0 with begin when the first expression is movable
Drop the begin0 when it has only one non omitable expression that preserves
the continuation marks.
simplify treatmenet of `begin0` and discarding expressions

Since `begin0` at the bytecode level always evaluates an initial
expression in non-tail position, we don't have to work so hard
to ensure that an extra expression sticks around.
restore non-places parallel build

The build protocol had evolved to include paths in messages passed
between places/processes, and that doesn't work with processes.
fix a problem mixing JIT and non-JIT code

Crashes the "optimize.rktl" test suite when the JIT supported but
disabled, because that test suite re-enables the JIT.
fix continuation reuse in non-JIT mode

The continuation mark to generate stack traces interfered with the
detection of equivalent continuations.