Simple synthesis

nop and unary instruction synthesis via repeated guessing; this is slow and isn't how things will work in the long run, but it gets synthesis working which makes it possible to work on pass support for generating instructions. also, plenty of synthesis test cases including a number that won't work until synthesis is more sophisticated.