Merge pull request #2977 from jreback/argsort

BUG: Series.argsort failing on datetime64[ns] when NaT present, GH #2967
ENH: numexpr on boolean frames

BLD: add highly recommended depdencies section and setup.py changes to optionally build these

ENH: add binary_ops vbench
     add binary_ops accelerations via ne
     created expressions.py core module

ENH: added support for remainder of comp and compare methods
     added vbench for add/mult

BUG: catching error in boolean comparisons if type is int and trying to put NA
     fixed failing tests from boolean comparisons
     removed radd operations from numexpr
     numexpr to now ignore a failing type operation and fail over

TST: failing test because float16 not upcasted on 32-bit....weird

TST: added test_expressions test suite
     added ability to turn off usage of numexpr (mainly for testing)
     restricted ops to allowed dtypes and min shape of input