make all optional backends respect the cfg file
cleaning up OptionalBackendPackage a tiny bit

 - check for `if config is not None` before the try/except/pass adds
   nothing, just makes it less readable
 - much clearer to handle of the default value of the `install` variable
   with the base class and not nested in a try/except of the
   `get_config` method (and even duplicated outside of the try/except)
 - the `force` attribute (only used for BackendAgg right now it seems)
   should also have a more prominent default state in the base class
   rather than in just one subclass
move general check() method of optional backend to base class

also split up the if/else in 3 branches to show a separate message if an
configuration file backend opt-out was overridden by a forced backend
install
replace checking of configuration of optional backends in overridden check() methods by a super() call
refactoring/separating backend checks for config file/dependencies

 - config check is handled handled in optional backend base class and
   calls separate dependency check
 - dependency check is an empty stub in base class and can be overriden
   in subclasses
update list of gui backends in config template
Add paragraph about PDF code of conduct.
Add S3 info
Attempt to fix some failing tests
Fix the PDF core fonts test
[bug correction] triinterpolate is independant of triangulation numbering.
Clear rcParams better
Fix tolerance on rasterize test
Merge pull request #2367 from mdboom/fix-failing-tests

Fix a number of long-failing tests.
Partially fix #2343: Forcibly set the locale to en_US.UTF-8 during tests so that the output will match the baseline images
Merge pull request #2192 from mdboom/code-of-conduct2

Follow the PSF code of conduct
Merge pull request #2335 from andreabedini/patch-5

make sure we only perform absolute imports on loading a backend
Raise tolerance on test_rasterize_dpi
Use six instead of 2to3
Add document with tips for writing portable 2-3 code