Bitcoin-Qt: updates to options handling code

- re-work options reset and require a client shutdown (as it is much
  easier to do it this way without having to mess with what can be changed
  on-the-fly and what needs a restart anyway)
- when changing an option which requires a client restart display a 10
  second warning message in statusLabel (via a QTimer)
- when applying the changes via ok or apply change that to a persistent
  message, which is displayed even after closing optionsdialog and re-open
  it, when no client restart was made
- remove dialog boxes used when changing language or proxy settings
- add setRestartRequired() and isRestartRequired() to OptionsModel and use
  the set function when updating options to signal OptionsDialog when a
  restart is needed
- re-work handling of language settings and introduce hasLanguage() in
  OptionsModel (used when initialising the language on client startup)
- move some disableApplyButton() calls in OptionsDialog up in the
  code to take directly effect
- resize optionsdialog a little and add some min sizes for certain GUI elements