Fixed to handle composite types in conditional expressions

lcc currently fails to correctly handle composite types in conditoinal expressions. For example,

```
void foo(void)
{
    extern int cond;
    int (*a)[], (*b)[10], (*c)[20];

    c = cond? a: b;
    c = cond? b: a;
}
```

The two assignments to `c` are both invalid, but lcc complains that only the latter is.

This commit fixes the problem by adding two calls to `composite()` when checking types for conditional expressions.