[System.Configuration]: SaveMode and UserLevel.
* Configuration.Save() and SaveAs() now honors the
`ConfigurationSaveMode' argument.
* Check whether the file has been modified prior to saving.
* Fix ConfigurationUserLevel inheritance.
* Implement ConfigurationElement.IsModified().
* New ConfigurationSaveTest.cs test:
- load a custom section using different parent configuration
files using ExeConfigurationFileMap and different
ConfigurationUserLevel values.
- save configuration using different ConfigurationSaveMode
arguments and different inherited parent configurations.
* ExeConfigurationFileMapTest.cs: Add error checks for missing
required filenames.
* New TestUtil.cs helper class:
- RunWithTempFile() and RunWithTempFiles() helper functions.
- DotNetVersion, ThisDllName and ThisConfigFileName properties,
moving all the #ifdef's into one central place.
15 files changed: