Clean up DataFrame.setitem behavior for duplicate columns
- [x] tests added / passed
- [x] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing.html#code-standards) for how to run them

cc  @jbrockmendel This cleans the edgy behavior up for duplicate columns.

Previous test was wrong.