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.

I left the following unchanged for two distinct DataFrames with pairwise=False, as it's not obvious to me what the desired behavior is in this case.

```
            if pairwise is False:
                ...
                res_columns = arg1.columns.union(arg2.columns)
```
 I updated the code to properly deal with multiple columns with the same label (except for the case of two distinct DataFrames and pairwise=False, where it's not obvious to me what the desired behavior would be).
 need a release note for v0.15.0 in bug fixes
 can't use a context manager under. 2.6 like that

iirc just create a function
thrn call
self.assertRaises(ValueError, f)
 How do I test the message in the ValueError? The following works for me on 3.4, but per https://docs.python.org/2.6/search.html?q=assertRaisesRegex&check_keywords=yes&area=default I suspect it doesn't work on 2.6.

```
                    self.assertRaisesRegex(ValueError, "'arg1' columns are not unique", f, df, df2)
                    self.assertRaisesRegex(ValueError, "'arg2' columns are not unique", f, df2, df)
```
 their are lots of examples in the code, e.g. : https://github.com/pydata/pandas/blob/master/pandas/tests/test_index.py#L52 (and you can use a context manger). don't use the `self.assertRaisesRegex`, rather the `tm.assertRaisesRegex` (which is fixed for 2.6)....

hmm...maybe should fix that
 OK, updated to use `tm.assertRaisesRegexp`. Thanks for the help...
 @seth-p I added them to the `TestCase` anyhow (so when you do `self.assertRaisesRegexp` will work (for the future)
 ... `tm.assertRaisesRegexp` worked.
 ok, looks good....ping when green
 One of the Travis builds failed for no discernible-to-me reason: https://travis-ci.org/pydata/pandas/jobs/30798802.

> On Jul 24, 2014, at 7:11 PM, jreback notifications@github.com wrote:
> 
> ok, looks good....ping when green
> 
> —
> Reply to this email directly or view it on GitHub.
 sometimes this happens np (Travis is flaky )
 Anything else I need to do, then?
 thanks!
