BUG : fixes FontProperties memory leak

According to the data
model (https://docs.python.org/2/reference/datamodel.html#object.__hash__)
objects that define __hash__ need to define __eq__ or __cmp__.  By
default, all user defined classes have a __cmp__ which evaluates to
False for all other objects.

Previously we do not define either __cmp__ or __eq__ on FontProperties,

This results in never finding the property
cached in the dict, hence the growth in the number of
FontProperties (and I assume the stuff in them).

By adding __eq__ and __ne__ we complete the data model and adding
FontProperties to dictionaries should work as expected.

This was not a problem before, but in #3077 the caching key was changed
from hash(prop) -> prop.

Closes #3264
Merge pull request #3250 from cgohlke/patch-2

Fix WindowsError: [Error 32] The process cannot access the file
TST: Fix ImportError: No module named 'mpl_toolkits'

Apparently `imp.find_module` does not support namespace packages.
Fixes issue #3252.
Merge pull request #3275 from cgohlke/patch-5

TST: Fix ImportError: No module named 'mpl_toolkits'
Merge pull request #3274 from tacaswell/fix_fontprop_leak

BUG : fixes FontProperties memory leak
DOC : removed out-dated git advices

It is a bad idea to all push directly to the same repo/branch, that
way lies madness/cvs

closes #3280
Rewrite checks to use communicate.

This ensures that file handles are cloesed
Silence some more cloesed file warnings
Ensure that file is closed in texmanager
Remove leftover debug
Correct stdout in dvipng_hack
Change checks to more closly match the original
Add breaks to match original
Merge pull request #3235 from jenshnielsen/more_warnings

Silence some more warnings
Merge pull request #3235 from jenshnielsen/more_warnings

Silence some more warnings
Merge remote-tracking branch 'upstream/v1.4.x'
Catch warning thrown in Mollweide projection.

This happens when plotting tries to expand
the interval for ticks beyond the defined region and do np.arcsin(y/sqrt(2))
where y is larger that sqrt(2) since the original limites matches the allowed
interval.

And Improve warnings message to clarify that this is related to ticks only.

Also some PEP8 around the code that I changed.
Filter warnings with more selective np.errstate context