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.
Improve empty collection check in add_collection.
Add test for add_collection
Typo in docstring.
Only set 'consider' if no value was supplied.
Fix bug in _auto_legend_data which caused the vertex list to always be empty.
Fix bug in helper function which prevented the legend from avoiding vertices.

This bug was not triggered before because count_contains() was never
called due to the empty vertex list in Legend._find_best_position().
Add TODO note about marker extents and vertex overlaps.
Typo in docs.
Fix test failure (caused by corner case in np.concatenate).
Add new test for automatic legend placement to check that vertices are indeed taken into account.
Add FIXME comment.
Also use 'loc=0' in 'test_various_labels' to further test the new code.
Added a strategy to stop losing ticks on the ends of an axis.  The approach that is
used is to pad the interval that is being used to "clip" ticks from the axis because
they are off the end.

The padding is chosen specifically such that the tick cannot be drawn a pixel past the
end of the axis.  So long as the tick is within this bound, it should be OK to draw it.
Modifications to MultipleLocator and LogLocator, so that the locators will
give locations one past what they really need to.  This is necessary, because
in situations where round off error matters, we want the locator to offer
more that it really thinks it needs to.  The clipping of ticks still takes
place in the Axis class, so it's perfectly fine to add more locs than necessary.

In fact, matplotlib relies on the clipping behavior in the Axis class already
to not draw ticks outside of the limits of the axis.
oops, missed a return statement in my copy/pasting.
Update lib/matplotlib/backends/backend_cairo.py
Fixed two of the failing tests for this "Fix lost ticks" branch, and fixed a problem
in the calculation of the log tick locations.
Fix the nose failure for polar plots; don't try to pad the interval for
the theta axis of a polar plot.
Since the _get_pixel_distance_along_axis routine is supposed to return a distance
in data coordinates, it should return 0.0 instead of 0 when appropriate.