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.
Yes, in the case of distinct DataFrames with pairwise=False -- lines 278-285 above -- I just left the previous behavior unchanged. I really don't know what the desired behavior is in that case if there are duplicate column names (or what the desired column order is). If you have a view on how this case should be handled, I can try to implement it...