fix terminate_with_br() member function

ensure to set insert point if already terminated
emit IR for 'if' expression

e.g.
    func abs(n)
        return (if n > 0 then n else -n)
    end
emit IR for postfix if statement

e.g.
    func fib(n)
        return 1 if n <= 1
        return fib(n-1) + fib(n-2)
    end
use postfix 'if' statement