swc-installation-test-2.py: Add and_dependencies to Python package setup

Not used by any packages yet, but I'm about to use it for IPython.
swc-installation-test-2.py: Print full DependencyError chain

If a requirement is not satisfied due to an and_dependency or
or_dependency failure, raise a new DependencyError and attach the
original error as its cause (this would be easier if we didn't have to
preserve Python 2.x support).  This way we can print the whole chain
(e.g. virtual-shell failed because sh is not installed), instead of
just the lowest level error.
swc-installation-test-2.py: Add IPython notebook dependencies

You can get a successful IPython import even if you haven't installed
the dependencies you need for viewing notebooks.  This adds explicit
dependencies based on the current listings in IPython's setup.py.