Added support for elseif statements. Added function to bypass critical edge blocks. Fixed issue where duplicate basic blocks were being printed before conditional branches. Added function to make sure a basic block can only be printed as many times as the amount of predecessors it has.