Redo flow control and assocaited functions as part of the grammar
Created by: skylerberg
Instead of implementing what is essentially parsing logic as part of the flow_control class, this should be moved into the grammar. The main problem I anticipate with this is that we need a way to detect a partially formed statement such as in incomplete for loop so that the user can keep working on it while using the shell interactively.