CLN/TST: Right Exceptions + remove duplicate tests

A few tests were duplicating the same thing or actually just the same
test, those have been refactored or removed. Many tests were changed to
specify the Exception they were looking for (and also to use the new
`with_statement` format for assertRaises, etc.)

CLN: Make Exceptions more specific
TST: Cleanup test_frame some more
CLN: Harmonize SparseDF and DF Exceptions
(probably remove for this PR) add motivating test case for dup columns
comment out/skip two test cases that are being fixed separately (and were only revealed by this refactoring)
TST: Add test cases for setitem tests
CLN: dropna - slight cleanup + bad axis testcase
TST: bad input test cases for reorder_levels and sortlevel
TST: Test for no copy=False with multilevel non-slice