Merge repeated columns

Fixes #510  cc @chdoig 

This does two things.  

1.  It raises an error if `merge` is called with overlapping column names
2.  `transform` from `dplyr` will overwrite columns by default.


```Python
In [1]: from blaze import *

In [2]: df = DataFrame([[1, 'Alice',   100],
                [2, 'Bob',    -200],
                [3, 'Charlie', 300],
                [4, 'Dennis',  400],
                [5, 'Edith',  -500]],
               columns=['id', 'name', 'amount'])

In [3]: t = Table(df)

In [4]: t
Out[4]: 
   id     name  amount
0   1    Alice     100
1   2      Bob    -200
2   3  Charlie     300
3   4   Dennis     400
4   5    Edith    -500

In [5]: transform(t, amount=-t.amount)
Out[5]: 
   id     name  amount
0   1    Alice    -100
1   2      Bob     200
2   3  Charlie    -300
3   4   Dennis    -400
4   5    Edith     500
```