Merge remote-tracking branch 'upstream/v1.2.x'
Merge pull request #1878 from pelson/webagg_changes

Webagg changes
Added a test for #880.
Added a find_all method to the RcParams dictionary.
Updated RcParams.find_all to use re. Added a str and repr for RcParams & added some tests.
Switching b and c in _transformation_converter to fix issue #1886
Prevented Qt4 from stopping the interpreter.
Merge branch 'master' of https://github.com/jschueller/matplotlib
added rcParam for x and y margin

Addresses issue #1766
shutil.move: Guard against IOError and print warnings instead of crashing.
matplotlib: _is_writable_dir uses os.access instead of TemporaryFile.

This is a more direct approach and avoids strange behaviour on systems that
provide a fake implementation of TemporaryFile. In particular, on Google App
Engine, TemporaryFile is equivalent to StringIO, so this would have always
succeeded, despite the fact that the directory is not actually writable.

It is also not particularly nice to go creating and deleting random files in the
user's home directory.
Matplotlib now works when the user has no home directory.

matplotlib.get_home now returns None if there is no home directory, instead of
raising RuntimeError. Updated code in several places to handle this gracefully.

matplotlib.get_configdir now returns a temporary directory if there is no home
directory, instead of raising RuntimeError.
get_configdir returns None if tempfile.gettempdir() is not available.

Previously, it would raise NotImplementedError. This is necessary on restricted
platforms such as Google App Engine that do not provide gettempdir.
Deal with all cases where get_configdir might return None.

Each case is either handled gracefully, or raises a RuntimeError.
font_manager: Gracefully handle the case of there being no config dir.

Instead of raising RuntimeError, now avoids reading and writing the font cache.
texmanager: Gracefully handle the case of there being no config dir upon import.

Instead of raising RuntimeError, now avoids creating the cache dir. This permits
texmanager to be imported in a restricted environment such as Google App Engine.

Actually constructing a TexManager object will fail, but it can be imported.
finance: Gracefully handle the case of there being no config dir.

Instead of raising RuntimeError, now avoids reading and writing the cache.
Fix formatting and other misc code tweaks.
matplotlib.get_home: Removing catch-all except blocks.
matplotlib, texmanager: Change WARNING prints into real warnings.