Improve writing system setup and editing

1) Improve interaction between dialogs in finding a language.
   This should make initial creation of a writing system (or project) a
   bit smoother.

2) Don't change the language code just because the language name changes.
   This should help smooth interaction between different programs, or
   between different users of the same program.  Changing a language code
   should be done with fear and trembling once any data has been shared.