Add rpc command 'getunconfirmedbalance' to obtain total unconfirmed balance

Conflicts:
	src/rpcserver.cpp
[Qt] add messages when handling local payment request files

- important for the open URI dialog to give users feedback
  when a file is invalid etc.
[Qt] fix RecentRequestsTableModel function ambiuguity

- fixes a compiler ambiguity error with ::createIndex() called in
  RecentRequestsTableModel::index()
- also add some Q_UNUSED() macros
add new RPC implementation file `rpcmisc.cpp`
Move `getinfo` from rpcnet to rpcmisc

`getinfo` is a general info method which shows information
from multiple sources, it doesn't belong in rpcnet.cpp or
any of the other current RPC implementation files.
Move `settxfee` from rpcblockchain to rpcwallet

`settxfee` only affects the wallet, not the block chain.
Move `nTransactionFee` from main.cpp to wallet.cpp

Transaction fee is only used by the wallet.
No need for it to be in main.cpp.
Move `validateaddress` from rpcwallet to rpcmisc

Enables it in --disable-wallet compiles.
Delimit wallet-using part using #ifdef ENABLE_WALLET.
Move `createmultisig` from rpcwallet to rpcmisc

Enables it in --disable-wallet compiles.
Move `verifymessage` from rpcwallet to rpcmisc

Enables it in --disable-wallet compiles.
Remove unused ThreadSafeHandleURI from ui_interface
Remove unused ThreadSafeAskFee from ui_interface

ThreadSafeAskFee is effectively unused. It is only called
when the fAskFee parameter on SendMoney or SendMoneyToDestination
is true, which never happens. Remove it.
Remove -logtodebugger

`-logtodebugger` is a strange, obscure, WIN32-only (mostly MSVC) thing.
Let's clean up the options a bit get rid of it.

test_bitcoin was using fLogToDebugger as a way to prevent logging to
debug.log. For this, add a boolean (not exposed as option) fLogToDebugLog that
defaults to true and is disabled in the tests.
qt: status WalletModel::Aborted is no longer used

Aborting transactions happens in the GUI now as it should,
not the backend.
Seperate out wallet options in help message

Seperate out the wallet options in HelpMessage, and
don't show them if compiled with --disable-wallet.

Also add documentation for `-disablewallet` option.
Don't create empty transactions when reading corrupted wallet

The current transaction loading code is not exception safe.
An exception during deserialization causes an empty transaction
to be left behind in the wallet.

Fix this by building the transaction separately and adding
it only to the wallet at the end.

Fixes #3333.
qt: Prevent non-functional GUI from popping up during Init

When a InitError or InitWarning happens, the
GUI pops up but is unusable (until Init finishes).

This is caused by showNormalIfMinimized. Add a message
flag to skip this call for Init errors or warnings.
[Qt] style-police, add missing license headers

- add missing license headers in Mac files
- small code formating cleanups
Merge pull request #3381

7df07b3 [Qt] fix RecentRequestsTableModel function ambiuguity (Philip Kaufmann)
Merge pull request #3424

06eb2f2 Seperate out wallet options in help message (Wladimir J. van der Laan)