BUG: to_excel duplicate columns
closes #11007 
closes #10970 (data in wrong order)
closes #10982 (columns lost).    

Using the approach suggested [here](https://github.com/pydata/pandas/issues/11007#issuecomment-141019207)

All three occurred when using `to_excel` with duplicate columns in the `DataFrame`

@jreback - updated for youf comments.  `to_csv` uses `loc` as well so I did not change that to `reindex` but did add a couple tests (raises if no correct columns specified, otherwise like `reindex`).
 pls squash otherwise lgtm.
 Nice!
 can you rebase/squash
 @jreback this is squashed now
 thanks!
