Prune provably-unspendable outputs
[raw] reject insanely high fees by default in sendrawtransaction

There have been several incidents where mainnet experimentation with
 raw transactions  resulted in insane fees.  This is hard to prevent
 in the raw transaction api because the inputs may not be known.
 Since sending doesn't work if the inputs aren't known, we can catch
 it there.

This rejects fees > than 10000 * nMinRelayTxFee or 1 BTC with the
 defaults and can be overridden with a bool at the rpc.
Bitcoin-Qt: BitcoinGUI::message() updates/fixes

- ensure message boxes are shown in center of our main window, not
  centered on the users desktop
- always prefer user supplied titles for message boxes over the functions
  defaults (fixes a bug, where transaction info messages did not contain
  information, if it was incoming or outgoing)
More fixes for blockchain corruption on OSX.

As we'd previously learned, OSX's fsync is a data eating lie.

Since 0.8.4 we're still getting some reports of disk corruption on
 OSX but now all of it looks like the block files have gotten out of
 sync with the database. It turns out that we were still using fsync()
 on the block files, so this isn't surprising.
autotools: fix a parallel build race condition spotted by the pull-tester

libleveldb.a and libmemenv.a should be able to build in parallel, but in
practice calling the leveldb makefile ends up rewriting build_config.mk. If
one target tries to build while the other is halfway through writing the
.mk, the make ends up in an undefined state.

Fix that by making one depend on the other. This also reorders the variables
to be passed by param rather than via the environment, and combines the targets
into a single rule to avoid needless duplication.
Merge pull request #3001 from theuni/fix-make-race

autotools: fix a parallel build race condition spotted by the pull-tester
Merge pull request #3000 from gmaxwell/more_osx_fsync

More fixes for blockchain corruption on OSX.
included-tests: update gitian descriptors for hexdump dependency
included-tests: generate binary data from test files for inclusion into test binaries

This change moves test data into the binaries rather than reading them from
the disk at runtime.

Advantages:
- Tests become distributable
- Cross-compile friendly. Build on one machine and execute in an arbitrary
  location on another.
- Easier testing for backports. Users can verify that tests pass without having
  to track down corresponding test data.
- More trustworthy test results and easier quality assurance as tests make
  fewer assumptions about their environment.
- Tests could theoretically run at client/daemon startup and exit on failure.

Disadvantages:
- Required 'hexdump' build-dependency. This is a standard bsd tool that should
  be usable everywhere. It is likely already installed on all build-machines.
- Tests can no longer be fudged after build by altering test-data.
Merge pull request #2985 from theuni/included-tests

Embedded test data in bitcoin_test
Refactor: OutputDebugStringF -> LogPrint(category, ...)
Replace printf with LogPrintf / LogPrint
Merge pull request #3009 from gavinandresen/LogPrint

Remove #define printf, replace OutputDebugStringf with LogPrint(f)
Add src/.gitignore: ignore src/test_bitcoin
qt: english translation update
configure.ac: remove debug/release concept, prefer autotools default CXXFLAGS
Merge pull request #3011 from jgarzik/autoconf

configure.ac: remove debug/release concept, prefer autotools default CXXFLAGS
configure.ac: remove unneeded OSX flags
gitian: fix win32 build after configure bdb changes

bitcoin incorrectly linked against the dll after the configure changes, so
ensure that only the static lib is installed.
gitian: remove obsolete --disable-debug flag