fix multiindex xs slicing bug
Merge pull request #3378 from cpcloud/multiindex-bug

multiindex xs slicing bug fix - thanks!
BUG: encoding detection should accept variations on 'ascii' GH3360
ENH/CLN: refactor of common code from frame/panel to generic.py
         axis creation routines now commonized under _setup_axes
ENH: more methods added

PERF: was missing multi-take opportunity in reindex
      was incorrectly passing to com._count_not_none
      doing an extra copy in certain cases
BUG: reindex with called with no args will by default return a copy (fixed bug)
ENH: moved filter and added axis arg
     moved where,mask,align

TST: make reindex benchmarks longer

CLN: fixed up names for creation in panelnd.py

DOC: minor release notes changes
DOC: release notes for this to 0.12.0
ENH: initial commite - attempt to reengineer series to inherit from NDFrame rather than ndarray
ENH: fixed SparseDataFrame constructor with scalar values
     reindex still broken
     removed refs to SparseSeries in internals (not all SparseArray)
TST: more fixed
TST: more fixes
TST: more tests
TST: fixed up indexing
TST: more sparse fixes
BUG: reindex with single block manager now correctly fills with a method

BUG: fixed pickle I think

BUG: fixed set in internals for sparse

fixed boolean indexing iin series I thnk

BUG: fixed printing and inclusion of sparse series in DataFrame (now keeps its type),
     converted to dense for printing
CLN: took out SeriesIndex, now uses regular indexing properties
BUG: fixed copy (was using series method, bad)
     block filling for datetimes now ok (was filling with NaT, not iNaT)
     NaN in boolean ops now correctly handled (was not working for Datetimes)

BUG: fixed set_item in SparseFrame if only a scalar is passed (needed index)

BUG: sparse join fixed, did I break something in merge?

BUG: consolidated block slicing under _slice
BUG: added Series to santize_array
     all numeric methods now call get_values() rather than values
ENH: partial SparsePanel support