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.
Any idea what's wrong with this code, which I copied pretty much verbatim from the in-line documentation of ``TestCase.assertRaises()``?
```
                    with self.assertRaises(ValueError) as cm:
                       f(df, df2)
```
It works fine for me on Python 3.4, and four of the five Travis builds (https://travis-ci.org/pydata/pandas/builds/30790863), but fails on https://travis-ci.org/pydata/pandas/jobs/30790864 (Python 2.6.9) with
```
ERROR: test_pairwise_stats_column_names_order (pandas.stats.tests.test_moments.TestMoments)

----------------------------------------------------------------------

Traceback (most recent call last):

File "/home/travis/virtualenv/python2.6.9/lib/python2.6/site-packages/pandas/stats/tests/test_moments.py", line 1068, in test_pairwise_stats_column_names_order

with self.assertRaises(ValueError) as cm:

TypeError: failUnlessRaises() takes at least 3 arguments (2 given)

----------------------------------------------------------------------

Ran 6829 tests in 393.916s

FAILED (SKIP=357, errors=1)
```