add utils.darwin.disable_app_nap

disables the App Nap energy saving behavior of OS X 10.9.
Requires PyObjC, which is included in System Python,
but not in many other Python installations.

It is pip-installable, but takes ages to compile.

should close #4431
add appnope to external
use QSocketNotifier, not poll

avoids having to disable App Nap outright.

Also use appnope context manager to disable App Nap on OS X 10.9 while processing events.

Adds IPKernel._darwin_app_nap flag, so that working with App Nap can be disabled, in case appnope causes problems for some.

App Nap is just disabled outright on wx.
Don't warn on empty modules when scanning API
Update API doc skip patterns
Clean up numpydoc section headers
Various minor docs fixes
Use new format for intersphinx mapping
Various docs fixes
Miscellaneous docs fixes
More fixes to doc formatting
Correct %edit docstring for ZMQ shell
fix history trim backup flag doc
add --keep alias for history trim
fix nbconvert completion

thanks @jakobgager for pointing this out in #4528
Produce rst-compatible options lists from magic_arguments
Fix documentation of functions using magic_arguments
Use Sphinx autosummary extension for API docs index
Tidy up a few more warnings from Sphinx
add note about the 1000 / --keep variable