allow to use custom QSettings for managing QgsOptionsDialog parameters

Currently QgsOptionsDialog can save its state only into main QGIS setting. This is not good when dialog used in plugin and/or standalone application.

This patch adds method setSettings() that allow to specify custom QSettings instance for saving dialog state. We already have similar functionality in QgsCollapsibleGroupBox.