Ifvisit2

Created new branch for visit_If because If also go uses visit_compare and visit_BoolOp and the master have these visits. Visit_if is mostly implemented with a few cases that have to be added.