Implement cond expressions

This makes the 'cond' keyword useful and introduces an expression similar to
if expressions, without guard semantics.

    cond E1 -> B1;
         ...;
         Ek -> Bk
    end.

This code is more or less equivalent to k nested cases, with the difference
that bindings from tests Ei do not spill in the subsequent Ei+1 and Bi+1 trees.

    case E1 of
        true ->
            B1;
        false ->
            case ... of
                true ->
                    ...;
                false ->
                    case Ek of
                        true ->
                            Bk;
                        false ->
                            error(cond_clause);
                        Other ->
                            error({badbool,Other})
                    end;
                Other ->
                    error({badbool,Other})
            end;
        Other ->
            error({badbool,Other})
    end.