7649 api key settings

DO NOT MERGE.

The current branch prioritizes the engine settings in the current implementation. I think it would be desirable to be able to override engine settings in the application, instead of the other way around, but don't have a particularly great way of doing that right now. 

I wanted to have some discussion about it before putting any serious work into it; but don't think this should be merged to ```develop``` until it is done.

Also closes #7672.
We could probably include a .gitignore for the ```*.local.*``` files.  

And I noticed that ```*/config/environments/{env}.local.yml``` files are left out for the engines.  That's an oversight which I will correct.