only validate package_data when it might be used

closes #5046
run check_package_data as part of build_py

rather than explicitly in setup.py
require print_method to be a bound method

closes #4990
add _valid_formatter

for determining whether a method is valid

should properly reject unbound methods of both compiled and Python classes, and allow any other Python callable.
don't allow LazyConfigValue on private names

avoids populating Config objects with `_repr_foo_`, etc.
add regex support to AssertPrints
add IPython.html.nbextensions.install_nbextension

for installing files into IPYTHONDIR/nbextensions
add `ipython install-nbextension` entrypoint
add install_nbextension at top-level IPython.html
support URLs and zip/tarballs in install_extension
typo
rewrite _valid_formatter

- explicitly forbid method_descriptor
- explicitly allow builtin_function
- use inspect.getcallargs for any other callable
allow installing nbextensions with symlinks
add check_nbextension
add IPython.load_extensions in js
Corrected a lot of small misuses of the new flex model.
fab css
Updated alignment widget example.
Automatic width adjustment for flex0
fab css