Refactoring ParaView application settings dialog.

Added new class pqSettingsDialog which is a settings dialog constructed
by scanning all proxies registered under the "options" group. Created a
new proxy ("options", "GeneralSettings") that is created during session
initialization by vtkSMParaViewPipelineController. This keeps track of
the general application settings for ParaView.

Added mechanism in pqProxyWidget to look a "hint" on the proxy which
says that the documentation should be used for labelling the widgets.
Using that for the GeneralSettings proxy to construct a verbose settings
panel. Currently, on pqIntVectorPropertyWidget respects that setting
when construting label on its own. Otherwise, it works only when the
pqPropertyWidget doesn't render the label on its own.

Change-Id: Ide52f736748ab7a234307ab0b801b008de4e5703
Making the new options work.

Added class vtkPVGeneralSettings which does the work when a setting is
changed. It also provides API for client code to access configuration
options easily and monitor them.

Change-Id: I9840212af1d689ab460d149d61dc2a3036485b19
WIP: Cleaning up apply logic.

Change-Id: I2e75953437785dfdd15a10bafc521d7a26298c11