Parser can handle "do; end" blocks

Reading in the arguments for the block is pending, but it shouldn't
be too difficult.
Make style of rules in parser more consistent

I really wish I could get go fmt to work better with .y files.