switch to bytecode instead of constree, and progress on specifying step

Slight departure from the Haskell version: we only have one processor
and one memory part per robot (and a frame) since the whole memory is in
the bytecode heap and stack and it would be messy and probably
unnecessary to destroy that into smaller pieces. As such the Build
command now takes exactly 3 indices as opposed to a list of indices.