ui: Fix GUI initialization order

Fixes at least #3478.

Splits and documents the phases:
1. Parse command-line options. These take precedence over anything else.
2. Basic Qt initialization (not dependent on parameters or configuration)
3. Application identification
4. Initialization of translations
5. Now that settings and translations are available, ask user for data directory
6. Determine availability of data directory and parse bitcoin.conf
7. URI IPC sending
8. Main GUI initialization

Splits command line parsing logic from ipcSendCommandLine into
ipcParseCommandLine, as isTestNet() can only be overridden in the early
stages before choosing a data directory. Sending however needs to happen
after choosing a data directory.
[Qt] massive options/settings rework (no core changes)

- add new options for database cache and script verification threads
- add label which displays options that are overridden by command-line
  parameters
- proxy settings are not applied on-the-fly anymore and require a client
  restart (ApplyProxySettings() was removed and was not working very well
  anyway)
- 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)
- options reset now writes default values for every single option
- 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 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
- resize optionsdialog a little and add some min sizes for certain GUI
  elements
- remove apply button from optionsdialog
- save and restore optionsdialog window position
- update nTransactionFee in QSettings with a set -paytxfee value when
  opening optionsdialog (I'm not sure about this yet, perhaps revert to
  not updating QSettings and just display current -paytxfee value in
  optionsdialog.)
[Qt] update bitcoin-qt.pro and assets-attribution.md

- remove unused and unmentioned file notsynced.png (we use an animation
  for this)
- add missing coincontroldialog.ui to bitcoin-qt.pro
- also unify formating in assets-attribution.md
Add test for GetTime()

Test for mingw/wine issue #3494, where the upper word of time(NULL)
return value gets clobbered.
Upgrade gitian win32 to boost-1.55.

Fixes issue where all network activity just stops.
Merge pull request #3498

eaafa23 Add test for GetTime() (Wladimir J. van der Laan)
Merge pull request #3432

b960fcb [Qt] update bitcoin-qt.pro and assets-attribution.md (Philip Kaufmann)
gitian: Add -O2 for win32 build

In the win32 gitian descriptor the C*FLAGS are being overridden on
`configure`, which causes the built-in optimization flags to be removed.
Add `-O2` manually (but not `-g` as we're not doing anything with the
debug information).

Improves performance of win32 gitian builds.

As a bonus, fixes issue #3497.
Merge pull request #3503

0d512a9 gitian: Add -O2 for win32 build (Wladimir J. van der Laan)
Merge pull request #3501

56fce1f Upgrade gitian win32 to boost-1.55. (Warren Togami)
Merge pull request #3488

2102ab9 ui: Fix GUI initialization order (Wladimir J. van der Laan)
[Qt] display native dir separators in select dadatir dialog

- fixes display on Windows now \ instead of / before
Merge pull request #3504

6a1bf00 [Qt] display native dir separators in select dadatir dialog (Philip Kaufmann)
Merge pull request #3347

7e195e8 [Qt] massive options/settings rework (no core changes) (Philip Kaufmann)
Add missing MacPorts dependencies to osx build docs
Merge pull request #3506

f5e9d98 Add missing MacPorts dependencies to osx build docs (Michael Ford)