Adds check that rgb sequence is of length 3
Improves check of arg range
Removes unnecessary float conversions
Use autolim kwarg in add_collection to prevent duplication of effort.

This changeset cleans up several problems associated with updating
Axes.dataLim. The basic point is that when a method that creates
a collection also updates Axes.dataLim, Axes.add_collection() should be
called with autolim=False.  With autolim=True, add_collection will
use a very general method to update the dataLim, but in many cases
the method creating the collection can perform the update much more
efficiently.

Closes #3095, which reported a regression that appears to have been
introduced by 88b722f.
Streamplot: clean up handling of masks, eliminate warning in test.

The existing test was raising a warning which indicated a problem
in the way a masked color array was being handled.
Image: handle images with zero columns or rows.

Two methods in the _image extension module now raise an
exception if the number of rows or columns is zero;
previously they could segfault.  A particular
circumstance that can cause this (setting xlim completely
outside the image extent) is handled directly in the
image module without raising an exception.

Closes #3091.
Merge pull request #3102 from efiring/image_segfault

Image: handle images with zero columns or rows.
Merge pull request #3101 from efiring/streamplot_masked_colors

Streamplot: clean up handling of masks, eliminate warning in test.
BUG: in Spine.set_position(), preserve most Axis info.

Clearing the axis is excessive; calling axis.reset_ticks()
seems to be both necessary and sufficient.

Closes #2941
Merge pull request #3104 from efiring/spine_position

BUG: in Spine.set_position(), preserve most Axis info.
Merge pull request #3100 from efiring/set_autolim

Use autolim kwarg in add_collection to prevent duplication of effort.
Merge pull request #3092 from ga7g08/fix-issue-3079

Adds check that rgb sequence is of length 3
Fixed small bug in Appender class in docstring module.
Former Bug was that all strings will be append directly after old
docstring independent of self.join
Can be tested with matplotlib.pyplot.figimage.__doc__ where Appender
class has been used.
Merge pull request #3107 from choffmann/fix-issue-3106

Bug-fix for issue 3106
New animation example inspired from the Joy Division's Unchained Love cover
Merge branch 'unchained' of github.com:rougier/matplotlib into unchained

* 'unchained' of github.com:rougier/matplotlib:
  Removed namespace clobbering (animation)
  Typo
  Flakification (pep8) + facecolor
  Fixed ylimit because first plot was cropped
  New animation example inspired from the Joy Division's Unchained Love cover