Handle test warnings

Addresses #1182.  Adds a `test_setup` function in `skimage._shared.testing` to set up the test environment which is called from each test folder in its `__init__.py`.  Uses the `skimage._shared.utils.all_warnings` context manager for known warnings, with comments about what is being suppressed.
Warnings are not elevated for the minimum Travis build (2.7), as it was kicking out over 40 warnings that were purely due to older versions of `numpy` and `scipy`, and addressing them would have added a lot of noise and skipped doc tests.  We check for this by looking for `TRAVIS_PYTHON_VERSION == 2.7`, to ensure we can still elevate warnings on local Py2.7 builds.
Can you explain the difference between catch_warnings and all_warnings? And put that somewhere useful for posterity, e.g. in the `all_warnings` docstring?