Restructuring in the arrays branch.
I've renamed PullPush.hs to Opt2.hs and then merged Pull.hs and Push.hs to
a new module called PullPush.hs. The rest of the modifications are just
to make the other modules compile due to this change.