Bitcoin-Qt: harmonize 2 setClientModel() functions

- harmonize BitcoinGUI::setClientModel() and RPCConsole::setClientModel()
- now RPCConsole::setClientModel() also includes a direct call to
  setNumBlocks()
build: prepare to move DetectShutdownThread
build: split the non-gui startup routines into a new file

This will allow each to have its own main(), meaning that we can build a common
base client and simply link in the correct startup object to create the
appropriate binary.
build: add global var for whether or not the gui is enabled
build: cosmetic: split usage string for easier formatting
build: use runtime setting for displaying the help message rather than QT_GUI define
build: use runtime setting for wallet rather than QT_GUI define
build: cosmetics after last commit
build: kill off the QT_GUI define
osx: fix bitcoin-qt startup crash when clicking dock icon

Crash probably introduced by 4d17a1b0.
Inialize the window to NULL and verify it before use.
Merge pull request #2741 from theuni/fix-osx-dock

osx: fix bitcoin-qt startup crash when clicking dock icon
Merge pull request #2731 from Diapolo/rpcconsole

Bitcoin-Qt: harmonize 2 setClientModel() functions
Merge pull request #2700 from theuni/gui-split

autotools: Gui split
Bitcoin-Qt: small updates to project file

- add new bitcoind.cpp to OTHER_FILES to be able to see it in the Qt
  Creator IDE
- remove a Mac-only header from the general HEADERS, as it is already in
  macx:HEADERS
Merge pull request #2746 from Diapolo/pro-file

Bitcoin-Qt: small updates to project file
Merge branch 'master' of https://github.com/bitcoin/bitcoin

Conflicts:
	onecoin-qt.pro
	src/init.cpp
	src/makefile.linux-mingw
	src/makefile.mingw
	src/makefile.osx
	src/makefile.unix