hstack fails with duplicate column names

Haven't had a chance to look in detail yet, but the following example should not fail:

```
In [14]: t = Table()

In [15]: t['a'] = [1,2,3]

In [16]: hstack([t,t], table_names=['1', '2'])
...
TableMergeError: Merging column names resulted in duplicates: ['a'].  Change uniq_col_name or table_names args to fix this.
```

because in principle, the columns should get renamed (according to the docstring).

cc @taldcroft