ENH/API: cross_apply
Would prob need to be done in cython for perf

```
def cross_apply(func, is_symmetric=True, **kwargs):
   l = len(df.columns)
   results = np.zeros((l,l))

   if is_symmetric:
      for i in range(l):
          for j in range(i + 1):
                 results[i,j] = results[j,i] = func(ac,bc, **kwargs)
   else:
      for i, ac in enumerate(df):
          for j, bc in enumerate(df):
                 if is_symmetric:
                 results[j,i] = func(ac,bc, **kwargs)
    return DataFrame(results,index=df.columns,columns=df.columns)
```

http://stackoverflow.com/questions/18234440/pairwise-correlation-of-pandas-dataframe-columns-with-custom-function
