colwise messes replicated names 

Setdiff  in strip_splits makes names unique.  This leads to an obscure bug which is very difficult to spot if you deal with large number of columns.

Example:

```R
   > df <- data.frame(a = 23, a = 56, check.names = F)
   > colwise(mean)(df)
      a
   1 23
   > 
```