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.
Mention skew in what's new and api changes.
Add @pelson's test for skew angles.
Simplify skew example.
Fix PEP8 issues in test_skew.py
Merge pull request #1664 from dopplershift/skew

Support for skewed transforms.