Skipping parenthesis around the Join

Hi.

This is for the With clause, too.

Currently, the Slick creates sql about the Join.

```
select ... from (select ... from ...) ... join (select ... from ...) ... on ...
```

But, with some syntax restrictions like ORA-32042, below sql is not allowed.

```
with a(...) as (
  select ... from ...
  union
  select ....
  from (select ... from a) ...
  join (select ... from ...) ... on ...
)
select ... from a
```

Instead, below sql should be used.

```
with a(...) as (
  select ... from ...
  union
  select ....
  from a
  join (select ... from ...) ... on ...
)
select ... from a
```

Like above, This is for skipping parenthesis around the Join when the Join is very simple.
And, This is not intended as a workaround for bug or error. There is no problem in the Slick.
Instead, This is intended as preparing about the With clause.

Thanks.
@szeiger  WDYT of this approach?