Join same columns

### In Expr

Overlapping but non-joined fields append _left, _right

```Python
>>> a = Symbol('a', 'var * {x: int, y: int}')
>>> b = Symbol('b', 'var * {x: int, y: int}')
>>> join(a, b, 'x').fields
['x', 'y_left', 'y_right']
```

### In SQL

We alias tables to avoid table name collisions

Fixes https://github.com/ContinuumIO/blaze/issues/787