Merge pull request #3355

6c98cca qt: use deleteLater to remove send entries (Wladimir J. van der Laan)
Move HelpExample* from rpcwallet to rpcserver

General functions used throughout the RPC framework
don't belong in rpcwallet.
Move getinfo to rpcnet.cpp

Where to place `getinfo` is a difficult issue
as it shows information from the wallet, net and
block chain. However, I moved it out of rpcwallet
as the command needs also to be available without
wallet.
Delimit code with #ifdef ENABLE_WALLET

Delimit all code that uses the wallet functions
in implementation files that conditionally use the wallet.
Move CAddrDB frrom db to net

This was a leftover from the times in which
peers.dat depended in BDB.

Other functions in db.cpp still depend on BerkelyDB,
to be able to compile without BDB this (small)
functionality needs to be moved to another file.
Add --disable-wallet option to build system

Make it possible to build Bitcoin without wallet
(and thus without BDB) so that it only functions as node.
Update build-unix.md to mention --disable-wallet

Mention the new --disable-wallet mode.
Also, correct the BDB entry in the dependencies table.
Move CCryptoKeyStore to crypter.cpp

This breaks the dependency on crypter for disable-wallet builds.
Split off rpc_wallet_tests

Split wallet tests from other RPC tests.
Now no #ifdef ENABLE_WALLET are needed anymore in either file.