rpc: Make sure conn object is always cleaned up

Make sure conn object always gets cleaned up by using a
`boost::shared_ptr`.

This makes valgrind happy - before this commit, one connection object
always leaked at shutdown, as well as can avoid other leaks, when
for example an exception happens.

Also add an explicit Close() to the !ClientAllowed path to make it similar
to the normal path (I'm not sure whether it is needed, but it
can't hurt).
doc: remove mention of `-rpctimeout` from man page

That option hasn't existed for a long time.
rpc: keep track of acceptors, and cancel them in StopRPCThreads

Fixes #4156.

The problem is that the boost::asio::io_service destructor
waits for the acceptors to finish (on windows, and boost 1.55).

Fix this by keeping track of the acceptors and cancelling them before
stopping the event loops.
Merge pull request #4161

938b689 Squashed 'src/leveldb/' changes from 9094c7f..7924331 (Pieter Wuille)
Add CODESEPARATOR/FindAndDelete() tests
Enable paranoid corruption checks in LevelDB >= 1.16
Merge pull request #4165

f6b7c64 Move base58.h implementation code to base58.cpp (Pieter Wuille)
Merge pull request #4138

783b182 Remove dummy PRIszX macros for formatting (Wladimir J. van der Laan)
LoadBlockIndexDB(): Require block db reindex if any blk*.dat files are missing.
Merge pull request #4142

cef4494 rpc: keep track of acceptors, and cancel them in StopRPCThreads (Wladimir J. van der Laan)
381b25d doc: remove mention of `-rpctimeout` from man page (Wladimir J. van der Laan)
1a44522 rpc: Make sure conn object is always cleaned up (Wladimir J. van der Laan)
0a0cd34 rpc: pass errors from async_accept (Wladimir J. van der Laan)
Fix build in OS X 10.9
qt: periodic language update

Pull updated translations from Transifex.

Add mn (Mongolian) language.

Do not update English translation for now as we want to keep
compatibility with 0.9.
Merge pull request #4181

f25e3ad Fix build in OS X 10.9 (Federico Bond)
Add -rpcbind option to allow binding RPC port on a specific interface

Add -rpcbind command option to specify binding RPC service on one
or multiple specific interfaces.

Functionality if -rpcbind is not specified remains the same as before:

- If no -rpcallowip specified, bind on localhost
- If no -rpcbind specified, bind on any interface

Implements part of #3111.
Support IPv6 lookup in bitcoin-cli even when IPv6 only bound on localhost

First query in the current way (intelligently determining which network
has a non-localhost interface). If this does not succeed, try plain
lookup.

Needed for testing.

Fixes #1827 by always allowing IPv6 to be used.
Add Python test for -rpcbind and -rpcallowip

Add a new test, `rpcbind_test.py`, that extensively tests the new
`-rpcbind` functionality.
Merge pull request #3695

b5ad5e7 Add Python test for -rpcbind and -rpcallowip (Wladimir J. van der Laan)
f923c07 Support IPv6 lookup in bitcoin-cli even when IPv6 only bound on localhost (Wladimir J. van der Laan)
deb3572 Add -rpcbind option to allow binding RPC port on a specific interface (Wladimir J. van der Laan)
switch from boost int types to <stdint.h>
json_spirit: #include <stdint.h>
removed a few unnecessary casts