Keep information about all block files in memory
Parameterise command line option defaults, so translations are independent of them
build: quit abusing LIBS for Windows builds.

Similar to the INCLUDES changes in 6b099402b40, split out LIBS into individual
entries for more fine-grained control.

Also add MINIUPNPC_LIBS which was missing before, and hook it up to
executables.
Bugfix: Remove default from -zapwallettxes description (inaccurate)
build: fix libtool's refusal to link static libs into a dll
Squashed 'src/leveldb/' changes from 7924331..7d41e6f

7d41e6f Merge upstream LevelDB 1.18
803d692 Release 1.18

git-subtree-dir: src/leveldb
git-subtree-split: 7d41e6f89ff04ce9e6a742932924796f69c6e23d
Merge src/leveldb changes for LevelDB 1.18.
Add buildenv.py to gitignore
script: move CScriptID to standard.h and add a ctor for creating them from CScripts

This allows for a reversal of the current behavior.

This:
CScript foo;
CScriptID bar(foo.GetID());

Becomes:
CScript foo;
CScriptID bar(foo);

This way, CScript is no longer dependent on CScriptID or Hash();
script: add ToByteVector() for converting anything with begin/end

This should move to a util header once their dependencies are cleaned up.
script: move ToString and ValueString out of the header
script: add a slew of includes all around and drop includes from script.h

Lots of files ended up with indirect includes from script.h.
Add IsNull() to class CAutoFile and remove operator !
Rename CWalletInterface to CValidationInterface

It's useful for much more than wallets.
Chain::SetTip return type to void
Fixes for missing boost tuple.hpp header include.
Add CValidationInterface::BlockChecked notification
Bugfix: submitblock: Use a temporary CValidationState to determine accurately the outcome of ProcessBlock, now that it no longer does the full block validity check
Rename RPC_TRANSACTION_* errors to RPC_VERIFY_* and use RPC_VERIFY_ERROR for submitblock
Merge pull request #5098

1d66bbc Add buildenv.py to gitignore (Michael Ford)