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.
If I change one of these lines to customize the settings for my installation, it seems I'd mark the file as modified in Git.  Should there be a "dist" or "original" file that the user copies into place and edits?