ERROR: better error message reporting on inserting incompatible column to frame (GH4107)
Merge pull request #4108 from jreback/GH4107

ERROR: better error message reporting on inserting incompatible column to frame (GH4107)
Merge pull request #4009 from jtratner/add-network-label-to-test-html

TST: Change test_html to use stored data + mark other
CLN: use how="all" so that things that are not nan in other columns are kept
Merge pull request #4111 from cpcloud/data-dot-py-cleanup

CLN: use how="all" in data.py so that things that are not nan in other columns are kept
CLN/TST: cleanup exception message testing by replacing with assertRaisesRegexp
BUG: fix replace bug when a nested dict was passed
Merge pull request #4114 from jreback/error_msgs

CLN/TST: cleanup exception message testing by replacing with assertRaisesRegexp
Merge pull request #4117 from cpcloud/replace-nested-dict-fix

BUG: fix replace bug when a nested dict was passed
BUG: GH4119 Fixed bug in ``convert_objects(convert_numeric=True)`` where a mixed numeric and

     object Series/Frame was not converting properly

BUG: convert_numeric=False changed for default in convert_objects for Series (which mastches Frame)
Merge pull request #4120 from jreback/convert_objects

BUG: GH4119 Fixed bug in convert_objects(convert_numeric=True) where a mixed numeric and object not converting
BUG: Fix names handling in MultiIndex

ENH/BUG: Make names, levels & labels properties.

* `names` is not a property *and* is set up as an immutable tuple.
* `levels` are always (shallow) copied now and it is now not possible to set levels
directly (internal consumers should use `_set_levels` to access. You are
discouraged from setting `_levels` directly).
* `labels` are set up as a property now, moving all the processing of
  labels out of `__new__`
TST: Add `assert_copy` to test for copied-ness.

You can use `assert_copy` to check that two iterables produce copies
that are not the same object. (uses `assert_almost_equal` under the
hood).
TST: Add names tests to test_index + PEP8

TST: Test that name changes occur properly

TST: Fixup test cases to reflect tuple output from names, etc.

TST: Add motivating example from #3742
TST: Change tests to check against tuple rather than list
TST: Change mutating tests to use set_names and set_levels
TST: Add level names check to basic reindex test
CLN: Changes to handle levels and labels as tuples

(mostly just using list or tuple as necessary)
ENH: Add set_levels, set_names and rename to index

Similar to other set_* methods...allows mutation if necessary but
otherwise returns same object.

ENH: Add rename method to index
TST: Fix assert_almost_equal to handle non-ndarrays

Fix import in tests