Properly passing on horiz-/vertOn to Cursor()

Simple fix to properly pass on the horizOn and vertOn keyword
arguments to the matplotlib.widgets.Cursor constructor.
Autoscaling and limits in mplot3d.

    * Fixes improper setting of x,y,z limits not turning off autoscaling
    * Adds units support to z-axis
    * Adds shared axis support for z-axis
    * Closes #783
A bit of cleanup
delaunay linear_interpolate_grid: enable grid of height/width 1
fixes #997
PEP8 fixes on dates.py
delaunay: test for 1d and 0d grids (fails upstream) re: issue #997
Merge branch 'iss997_test' into iss997_altfix
Make Axes.stem take at least one argument.

When it takes only one, the abscissae default to np.arange(len(y))
Add axes.stem call signature test
Update CHANGELOG with axes.stem change
test_delaunay: avoid numbers in 1d test, use np.allclose
Merge branch 'iss997_test'
_delaunay.cpp: support [x0:x1:1j] grids even if x1!=x0
Improve empty collection check in add_collection.
use QMainWindow.closeEvent for close events

The current code uses the QWidget.destroyed signal
to emit a close event into matplotlib. This is a very
bad idea, as it is a heavy abuse of Qt functionality.

When a main window is closed in Qt, it and its children
are deleted if the DeleteOnClose flag is set (which we
did set). This causes the QWidget.destroyed signal to be
called. Setting the DeleteOnClose flag is a very bad
idea, since objects should only be deleted by the
garbage collector. Soon after, PyQt4 will complain
that "the underlying C++ object has been deleted", since
the object is alive for python but dead for C++.

This patch changes the machinery to use the
QMainWindow.closeEvent to emit a close_event, which is
what one actually wants.
Add test for add_collection
BUG: Mask NaNs in color arrays passed to streamplot

Bug report and fix provided by Jon Ramsey.
TST: Add tests for streamplot
Fix positional argument parsing
Make stem catch explicit Exception classes