Put SeqProgram in its own file; made ModeProgram

We arenn't using SeqProgram anymore, but I don't want to get rid of it, so I
just put it in its own file. Avoider and Tracie had lots of diplication, so I
created a ModeProgram that manages the mode details. I implemented Avoider in
terms of it, and it seems to work fine. I will refactor Tracie next.