API/BUG Raise ValueError when stacking nonunique levels

Should raise a ValueError when (un)stacking a DataFrame
on a nonunique level. Previous behavior was to raise
a KeyError (not deliberately). Closes #6729.
Merge pull request #6849 from TomAugspurger/unstack-nonunique

API/BUG Raise ValueError when stacking nonunique levels
API: make Series.sort/order arguments in the same order
     drop unused Series.sort order argument
     added Series.sort na_position argument to conform with Series.order
     Series.order default kind is not 'quicksort' to conform with Series.sort
     (and others), (GH6847)
ENH: Index(...) constructor creates a MultiIndex when appropriate.

- Series and DataFrame constructor autodetect when index/columns
should be MultiIndex
- prevents some seg faults in calls to cython funcs
- add tupleize_cols kwarg and update tests to git PR comments
- support name= xor names= in Index(tuples, ....) constructor
- docs

BUG: Index.identical(other) didn't compare type(other) to type(self)
DOC: updated dsinstro.rst
Merge pull request #6848 from jreback/sort

API: make Series.sort/order arguments in the same order
DEPR: Indexers will warn FutureWarning when used with a scalar indexer and
       a non-floating point Index (GH4892)