Add plugin return values for ImageViewer

The model supported is that plugins can return an overlay, some data,
or both. Each plugin therefore returns an `(overlay, data)` tuple in
which each element can be `None`.

To allow return values, the plugin need only override the `output`
method defined in the base Plugin class.

See discussions here:
https://groups.google.com/d/msg/scikit-image/0nkJM-WguXA/iqogBABa748J
and here:
https://github.com/scikit-image/scikit-image/pull/805
Allow OverlayPlugin to return the current overlay
Incorporate @tonysyu's suggestions re:docstrings
Add make instruction for doctest
Let travis run doctests
Fix corner doc tests
Fix corner_subpix function for corners near border
Add example for corner_subpix function
Fix doctest of remove_small_objects
Fix watershed doctest
Fix hough_line_peaks doctest
Fix block_reduce doctest
Fix RANSAC doctest
Use NORMALIZE_WHITESPACE directive for block_reduce doctest
Fix montage2d doctest
Remove plotter from doctest and use comparison to np.histogram instead
Fix precision of output in hough_line_peaks doctest
Install nose from PyPI
Remove unnecessary coverage directive
Install PyQt4 for doctests