doc: Replace plt.show() calls with iplt.show().

The latest plot_directive splits at plt.show(), which breaks code that's
indented. The iris.plot.show alias still works with the testing
framework, but doesn't trigger this splitting.
doc: Make Sphinx extensions PEP8 compliant.
doc: Auto-generate figure IDs for linking.

This should fix the links from the front page's random image display.
doc: Make package sidebar smarter.

It needs to ignore a few more things, like private packages, tests,
sub-sub-packages, etc.
doc: Broadly categorize example plots.