Deleting everything except the wallet will not help recover from BDB errors.

Now that the wallet is the only thing in BDB any DB open errors must be
from the wallet itself-- so deleting everything else will not likely help.

Conflicts:
	src/init.cpp
Try moving database/ away in case of failure

Conflicts:
	src/init.cpp
Bugfix: if no bestblock record is present, do a -rescan

It is possible to have a wallet.dat file without any bestblock
record at all (if created offline, for example), which - when
loaded into a client with a up-to-date chain - does no rescan and
shows no transactions.

Also make sure to write the current best block after a rescan, so
it isn't necessary twice.

Conflicts:
	src/init.cpp
[QT] Don't ask for a passphrase to getnewaddress.

With an encrypted wallet the GUI was prompting for a passphrase every time
 the user requested a new address.  This is unnecessary, increases the
 exposure to keyboard sniffers, and discourages using fresh addresses for
 every transaction.

Instead only prompt for a passphrase when the keypool runs out, also call
 the new address function with the flag that prevents reuse.

Thanks to AlexNagy on IRC for pointing this out and who wouldn't take any
 lip from a curmudgeonly developer and insisted on what he knew to be true.
remove "checkorder" and "reply" P2P commands

These command are a leftover from send-to-IP transactions, which have been
removed a long time ago.
Also removes CNode::mapRequests and CNode::PushRequests, as these were
only used for the mentioned commands.

Conflicts:
	src/main.cpp
	src/net.h
Remove fAllowReuse from GetKeyFromPool.

With the GUI password fix this was always false.

Conflicts:
	src/qt/paymentserver.cpp
	src/wallet.h
init.cpp: cosmetic indent changes, preparing for no-wallet mode
Add -disablewallet option, to disable wallet support (and BDB)

Conflicts:
	src/init.cpp
log start and end of Shutdown()

- could be helpful when debugging shutdown related problems

Conflicts:
	src/init.cpp