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.
Merge pull request #3377

0b238b2 Use thread-local storage for LogPrint(category...) (Gavin Andresen)
962b1cf Fix infinite loop with LogPrint on Windows (Gavin Andresen)
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.
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.
Merge pull request #3408

22f0135 Rebrand to `Bitcoin Core` (Wladimir J. van der Laan)