Split up bitcoinrpc (code movement only)

Split bitcoinrpc up into

- rpcserver: bitcoind RPC server
- rpcclient: bitcoin-cli RPC client
- rpcprotocol: shared common HTTP/JSON-RPC protocol code

One step towards making bitcoin-cli independent from the rest
of the code, and thus a smaller executable that doesn't have to
be linked against leveldb.

This commit only does code movement, there are no functional changes.

Conflicts:
	src/Makefile.am
	src/bitcoin-cli.cpp
	src/bitcoind.cpp
	src/init.cpp
	src/qt/rpcconsole.cpp
	src/rpcblockchain.cpp
	src/rpcdump.cpp
	src/rpcmining.cpp
	src/rpcnet.cpp
	src/rpcrawtransaction.cpp
	src/rpcserver.cpp
	src/rpcserver.h
	src/rpcwallet.cpp
	src/test/rpc_tests.cpp
fix build of blackcoind
clear history when using clear button in RPC console

- current code does not clear history, when using the clear button, this
  is added
- remove a currently unused variable but add a TODO comment