BUG: 14760 Improved saving of settings file

- Added organization name member to vtkInitializationHelper
- Changed location of user settings file to
  CONFIG_DIR/ORGANIZATION_NAME/APPLICATION_NAME-UserSettings.json
  This will enable the same organization to have more than one
  branded ParaView application with different settings.
- Creates the directory in which the settings file should
  reside if it does not exist.
- Application and organization names are set in pqApplicationCore
  instead of branded_paraview_initializer.cxx.in

Change-Id: Ic50a020c8acf984c2284e824fa99145a93ad028e
Save settings file only when a setting has been modified

Also, fixed a bug where settings with default values were being saved
to the settings file.

Change-Id: Ia3908b94678b1828c89d7ef4090bebc54d43e4d4
Change how colors are stored in pqColorChooserButton.

Colors were stored in a QColor. Internally, QColor stores color
components as 16-bit unsigned ints. The Qt documentation of
QColor states the consequence of this:

"QColor supports floating point precision and provides floating point
versions of all the color components functions, e.g.getRgbF(), hueF()
and fromCmykF(). Note that since the components are stored using
16-bit integers, there might be minor deviations between the values
set using, for example, setRgbF() and the values returned by the
getRgbF() function due to rounding."

Because the value retrieved from the QColor might not be the same as
what was input, any color property passed through a QColor could be
slightly different from the default color property, causing the color
to be saved as a custom setting in the settings JSON file when doing
so wasn't warranted.

This is solved by storing the RGBA color components in
pqColorChooserButton as an array of doubles instead of in a QColor
object.

Change-Id: I750b991cbb17c3b8c4aeb6fb02b0c2936e0bca2f
Change default application name

Changed default name to GenericParaViewApplication in the
initialization helper to prevent any accidental reading/writing of
ParaView's settings file by branded applications.

Change-Id: I1d4b3e7df383a070df5b4c83db8de88a944d6316
Added XML attribute "both" for hint SaveInQSettings

If set to 1, this attribute indicates that the property value should
be saved in both QSettings and the user settings JSON file. Defaults
to 0 (save only in QSettings) if attribute is not present.

Change-Id: Ieb0b871a3c8603cf67659b59973e71c0cafc4828
Cleaned up JSON settings file when proxy group is empty

When a proxy group is empty, it is removed from the root JSON value.
Also, fixed a bug where plain old vtkSMProperties were not handled
correctly (they should not be written to/read from file). Did this by
adding boolean return values to SetPropertySetting() and
SetProxySetting() methods where true indicates the setting of values
was successful and false indicates failure.

Change-Id: I20bbd35a5dea3c63b4d62e2a31e7691c74564175
Fix pqProxyWidgetDialog to activate OK button when enter is pressed

Change-Id: I3766b8805b4e71985b4faf2305815f0067ecf2ac
Merge topic '14760_fix_settings_saving' into next

79b76262 Fix pqProxyWidgetDialog to activate OK button when enter is pressed
96cc4c2b Cleaned up JSON settings file when proxy group is empty
8c1b042f Added XML attribute "both" for hint SaveInQSettings
ce8897ae Change default application name
23967328 Change how colors are stored in pqColorChooserButton.
9d0c1408 Save settings file only when a setting has been modified
654a85b7 BUG: 14760 Improved saving of settings file