BUG: regression in DataFrame.transform('func')
From a failing example in the doc build (http://pandas-docs.github.io/pandas-docs-travis/basics.html#transform-api):

```python
tsdf = pd.DataFrame(np.random.randn(10, 3), columns=['A', 'B', 'C'],
                    index=pd.date_range('1/1/2000', periods=10))
tsdf.iloc[3:7] = np.nan
```

Using a numpy func directly is fine:
```
In [43]: tsdf.transform(np.abs)
Out[43]: 
                   A         B         C
2000-01-01  1.038786  0.380848  1.190139
2000-01-02  2.201640  0.004028  0.704541
2000-01-03  1.803344  0.774565  0.034836
2000-01-04       NaN       NaN       NaN
2000-01-05       NaN       NaN       NaN
2000-01-06       NaN       NaN       NaN
2000-01-07       NaN       NaN       NaN
2000-01-08  0.351827  0.265785  1.424491
2000-01-09  0.962042  1.291740  1.107973
2000-01-10  0.366717  0.318791  0.117215
```

But specifying the function with a string now breaks:
```
In [44]: tsdf.transform('abs')
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-44-405a88736ee3> in <module>()
----> 1 tsdf.transform('abs')

/home/joris/scipy/pandas/pandas/core/generic.py in transform(self, func, *args, **kwargs)
   7694         @Appender(_shared_docs['transform'] % _shared_doc_kwargs)
   7695         def transform(self, func, *args, **kwargs):
-> 7696             result = self.agg(func, *args, **kwargs)
   7697             if is_scalar(result) or len(result) != len(self):
   7698                 raise ValueError("transforms cannot produce "

/home/joris/scipy/pandas/pandas/core/frame.py in aggregate(self, func, axis, *args, **kwargs)
   4830                 pass
   4831         if result is None:
-> 4832             return self.apply(func, axis=axis, args=args, **kwargs)
   4833         return result
   4834 

/home/joris/scipy/pandas/pandas/core/frame.py in apply(self, func, axis, broadcast, raw, reduce, result_type, args, **kwds)
   5020                          args=args,
   5021                          kwds=kwds)
-> 5022         return op.get_result()
   5023 
   5024     def applymap(self, func):

/home/joris/scipy/pandas/pandas/core/apply.py in get_result(self)
    309                                       *self.args, **self.kwds)
    310 
--> 311         return super(FrameRowApply, self).get_result()
    312 
    313     def apply_broadcast(self):

/home/joris/scipy/pandas/pandas/core/apply.py in get_result(self)
    113         if isinstance(self.f, compat.string_types):
    114             self.kwds['axis'] = self.axis
--> 115             return getattr(self.obj, self.f)(*self.args, **self.kwds)
    116 
    117         # ufunc

TypeError: abs() got an unexpected keyword argument 'axis'
```

This is on master, while it was working in 0.22 (tested with the same version of numpy, 1.13)