Add rpc command 'getunconfirmedbalance' to obtain total unconfirmed balance

Conflicts:
	src/rpcserver.cpp
[Qt] fix RecentRequestsTableModel function ambiuguity

- fixes a compiler ambiguity error with ::createIndex() called in
  RecentRequestsTableModel::index()
- also add some Q_UNUSED() macros
Rebrand to `Bitcoin Core`

Only messages for now, executable names and other file names
can be changed later if necessary and safe.

Do not do an all-sweeping change. Some occurences of Bitcoin-Qt need to
be kept:

- Applicationname: this is used to determine the registry entry names,
  we don't want to lose settings over a silly name change.
- Where it refers to the executable name instead of the product name.
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.
Fix unit test error on OSX 10.9 using Apple LLVM v5.0.

Before the fix, there were 6 errors such as :
serialize_tests.cpp:77: error in "noncanonical": incorrect exception std::ios_base::failure is caught

It turns out that ex.what() returns following string instead of "non-canonical ReadCompactSize()"
"non-canonical ReadCompactSize(): unspecified iostream_category error"

After the fix, unit test passed.

The test ran using Apple LLVM v5.0 on OSX 10.9 and the unit test error happened because of different error messages by different compilers.

g++ --version on my development environment.

```
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
Thread model: posix
```
qt: use GUIUtil::dateTimeStr in coincontrol
Merge pull request #3421

93a5d0b qt: use GUIUtil::dateTimeStr in coincontrol (Wladimir J. van der Laan)
Merge pull request #3420

bccd532 Fix unit test error on OSX 10.9 using Apple LLVM v5.0. (Kangmo)
Improve unit test code not to compare with explanatory messages for each platform.
Instead, use have an exception object to check if the string returned by what() on the raised exception matches the string returned by what() on the expected exception instance.
This way, we do not need to list all different possible explanatory strings for different platforms in the test code, and make it simple. (The idea is by Cory Fields.)
Merge pull request #3423

0205abd Improve unit test code not to compare with explanatory messages for each platform. Instead, use have an exception object to check if the string returned by what() on the raised exception matches the string returned by what() on the expected exception instance. This way, we do not need to list all different possible explanatory strings for different platforms in the test code, and make it simple. (The idea is by Cory Fields.) (Kangmo)
qt: status WalletModel::Aborted is no longer used

Aborting transactions happens in the GUI now as it should,
not the backend.