BUG: _flex_binary_moment() doesn't preserve column order or handle multiple columns with the same label

Closes https://github.com/pydata/pandas/issues/7542.
For example:
```
In [2]: from pandas import DataFrame, expanding_corr
In [3]: df1 = DataFrame([[1,2],[3,4],[5,6]], columns=['A','A'])
In [4]: df2 = DataFrame([[1,2],[-3,-4],[5,-6]], columns=['B','C'])
In [5]: expanding_corr(df1,df2)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-5-5567f053e441> in <module>()
----> 1 expanding_corr(df1,df2)
...
ValueError: cannot copy sequence with size 2 to array axis with dimension 3
```