BUG : instantiate fall-back writer

fixes #2651

If the a string is passed into save as `writer` the code tries to
look up a writer with that name and create it.  If a writer with that
name is not in the registry, it is replaced with the name of the first
writer that _is_ in the registry, but not an instance of that type.
Fixes a bug in font family lookup.  Any font in the font alias
list (e.g. font.sans-serif) would be considered a perfect match whenever
the selected font alias is the first in the font.family list.  This
broke the priority ordering of font names.
Add test
Use assert_equal
No need to cast to floats with future division
EXP : turn of clipping in spine example

Turn off clipping in the spine placement demos.

Closes #2795
BLD : adjust min six version to 1.3
remove .rect member (clashes with QWidget)

FigureCanvasQTAgg inherits from QWidget, which already has a 'rect'
property and getter.

Also, consolidate .rect and (boolean) .drawRect into a single _drawRect
member.  This is only used for the zoom rect and not accessed from other
classes (other than indirectly via the drawRectangle() function).
Re-Generate legend, through apply_callback/Apply

If there is a legend, it is re-generated when "Apply" is clicked.
See Issue #2934:
Might have side effects.
matplotlib#2934
tacaswell: "However this will clobber any legend that is not the auto-magically generated one so it should probably also get a tick box to enable/disable the updating of the legend."
Tick box not included.
update api_changes.rst w.r.t. Qt4 backend changes
explicitly test _drawRect against None
ENH : add flag to box_plot and bxp to manage (or not) xticks

Closes #2921
 - added test for managa_xtick option to boxplot
 - added CHANGELOG and whats_new.rst entry for manage_xticks
TST : fixed duplicate test name
Don't call Py_DECREF on null in _ttconv.cpp

Clang's static checker noted that if PyBytes_FromString returns NULL
(presumably rare) then Py_DECREF gets called on NULL; throw an
exception instead. Also assert that the char* inputs are not NULL,
since the Python API functions don't usually check that.
Initialize offset to zero in FT2Font::make_open_args

Clang warns that it gets a garbage value on Python 2, since
mpl_PyFile_Dup expands to a function call that does not use &offset.
It seems that the value is not used on Python 2 but it doesn't
cost much to silence the warning.
Silence some writable-string warnings

Cast string constants explicitly to (char*) since the
method calls aren't going to modify the strings.
Check the return values of mpl_PyFile_DupClose
Remove dead assignment

The value initially assigned to pix was never used.
Remove dead assignments in _image.cpp
Avoid a null-pointer dereference in _tri.cpp

Found using the clang static analyzer:
if PyArray_ContiguousFromObject returns NULL,
PyArray_NDIM(x) causes a null-pointer dereference.