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
refactoring and unifying OptionalPackage and OptionalBackendPackage
BUG: Fix IndexError: too many indices with numpy 1.8
Refactor uploading to S3
Refactor S3 uploading
Trying to get debug out
Refactoring S3 uploads yet again
Unbreak test
Fix missing endline on step histogram
Merge pull request #2383 from cgohlke/patch-1

BUG: Fix IndexError: too many indices with numpy 1.8
Only test png and remove test text
Merge pull request #2372 from neggert/hist_endline_fix

Fix step histogram endline
Be more careful about setting the locale
Merge pull request #2331 from megies/optional_backend_config_check

Make optional backends respect setup.cfg
Merge pull request #2396 from mdboom/locale-try

Try UNIXy and Windowsy ways of setting locale