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.
OK, just updated the code. Let me know how it looks.