Control flow

This will complete the gcd milestone.  No support for if else, I may go back and add that in if there is time.  

closes #98 
this is irregular to the rest of the generator code. can we just pass in the sast object and match it here if need be? (or at least make an enum for `For | If | While`)