BUG: GH9618 in read_msgpack where DataFrame has duplicate column names
To close #9618
Note I modified `encode`, so it's not backward compatible.

@kawochen can you rebase? I just applied the fix for #10525 in a14f513d5b7104bf5a16bfecf85da495ac39053c
 @kawochen this needs a msgpack from 0.16.2 as a regression test
in fact I think that u can use the https://github.com/pydata/pandas/blob/master/pandas/io/tests/generate_legacy_pickles.py
to create it 
 @jreback Do you mean creating a similar script to generate msgpack files (and using them in tests)? I changed `decode` in a way such that old msgpack wouldn't work, but we could test whether a msgpack is in the old format or new format and decode correspondingly. Is that desirable? 
 you can just that script, modify it to generate either a msgpack or a pickle (give a cmd line arg), and rename it as well.

Then needs some regression tests to make sure that we CAN read back-compat msgpack. If you are actually breaking a prior API then this needs to be noted, the msgpack version number bumped, and then back-compat reading is ok.
 @jreback I just made the changes. 
 we are referring to #10525 in comments by @kawochen and @shoyer but is that the correct issue? 
 Updated.
 @kawochen lgtm, just a minor documentation note. ping when you push.
 updated
 thanks!
