API/CLN: add in common operations to Series/Index, refactored as a OpsMixin
         (GH4551, GH4056, GH5519)
Merge pull request #6380 from jreback/common_ops

API/CLN: add in common operations to Series/Index, refactored as a OpsMixin
ENH: add chainmap for easier scoping
CLN: move scoping code to its own module
ENH: catch key error for chainmap lookups
CLN: give a proper name to generic index resolvers getter
ENH: pass variables to numexpr
CLN/ENH: refactor scope to use DeepChainMap and inspect.stack
TST/CLN: no need to pass scope to eval assertions
CLN/ENH: use swapkey instead of crazy hack
CLN: update expr.py for scope changes and remove unused isexpr
ENH/CLN: track scope instead of hard coding minimal stack level
CLN: no need for property nresolvers
BUG: allow scope usage if resolvers throw a key error but a resolver exists and not a local var
DOC/CLN: add internal docs and remove some straggling cruft
ENH: do not allow users to have variables that are overridden by numexpr
TST/CLN: more extensive scope tests
ENH: update pytables for new scoping
ERR/API: disallow local references in top-level calls to eval
CLN/API: move check for @ syntax (with engine) into _check_for_locals