Revert "Revert "Move ast_visitor to separate file. Add return value for control flow.""
Revert "Revert "Move ast_visitor to separate file. Add return value for control flow.""

This reverts commit 9fbeed916dbb911eb0455978544dd1bd3b6cee22.

bassettmb/bfc,bassettmb/bfc