DOC/ENH : get/set_size_inches

Added links between `get_size_inches` and `set_size_inches`

Added an `np.array` call to `get_size_inches` to return a copy of
the size, instead of a reference to the internal np.array.

Closes #2303
BUG : Qt repaint workaround on windows

Added platform specific replacement of `update` with `repaint` in
`FigureCanvasQtAgg.draw` for windows.
DOC : minor tweaks to set/get_size_inches

 - better numpydoc style
 - added inch <-> cm conversion factor
Fix IPython detection.  Fix encoding error on Python 3
Remove _in_ipython
DOC : add link to `plt.subplots` from `Figure.add_subplot`
DOC : removed line about un-needed dependencies in Windows

We no longer bundle `dateutil` or `pyparsing`.
counterclock parameter for pie
Fix for issue #2872. In case of missing values (e.g., zeros when using a logarithmic scale), draw_path_collection may get offsets containing NaN's. In that case, using CGContextTranslateCTM once with translation and once with -translation will not restore the original CTM. This bugfix adds a check for NaN/inf.
Add skew() and skew_deg() to Affine2D.

These set up skew transforms, which can be viewed as indpendantly
rotating the X and Y axes.
Fix Bbox transformation for skewed Axes.

This involves transforming the upper left and lower right points
separately to come up with the combined translated upper right.
Replace hand-creation of blended transforms in Axes.

By default get_[x|y]axis_transform() do the same, but by calling these
methods instead of creating the transforms by hand, we better support
custom Axes.
Remove unecessary use of blended transforms in spines.

The manual use of the blended transform breaks non-seperable custom
axes/projections. Removing this does not appear to affect any of the
spine examples.
Re-order drawing of spines and axis objects.

This gives the spine a chance to update the axis object before draw.
This is sensible given that the axis can be registered with the spine
so that it can modify it, and is necessary for some use cases.
Add skewt.py as api example.
Change skew() angle definitions.

Instead of specifying the angles as rotations of the axes, it is easier
(and more standard) to think of the angles in the skew transform as
shearing angles along each axis. Doing so means the X and Y angles
are swapped from how they were used before, so this commit also
updates the example.
Add test for skewed axes projection.
Fixed the failing tests on master.
Merge pull request #2884 from pelson/vector_transform_data_lims_test_fix

Fixed the failing tests on master.
fix a bug introduced in c998561d6cc1236

changing the message formatting to use previously assembled results
dictionary broke due to the tolerance not being included in the results
dictionary.