Merge pull request #1939 from sipa/bugfix_zerobalance

Bugfix: do not mark all future coins spent
Fixed compile error on FreeBSD 9.
See http://code.google.com/p/leveldb/issues/detail?id=98
Fixed 100% CPU utilization problem on FreeBSD 9
Bugfix: off-by-one error in coinbase maturity check
Bugfix: add missing fee check
Bugfix: off-by-one in priority calculation
Added some comments

Some clarifications after a code review by Mike Hearn.
Bugfix: actually use CCoinsViewMemPool
Merge pull request #1949 from sipa/bugfix_maturity

Ultraprune bugfixes
Merge pull request #1942 from Diapolo/rem_dup_txdb_h

fix a double inclusion of txdb.h in bitcoin-qt.pro
Fixes a race condition in CreateNewBlock and a future null deref on testnet.

CreateNewBlock was reading pindexBest at the start before taking the lock
so it was possible to have the the block content not match the prevheader
and this can also trigger a newly added assert in ConnectBlock.

I noticed this during a code review after twobitcoins reported that ab91bf39
(BIP30 for all blocks) could cause a null dereference on a modified node
that mined during the IBD, or on testnet when it reached heights 91842 and
91880 due to CreateNewBlock calling ConnectBlock with pindex->phashBlock NULL.
Fix out-of-bounds read noticed by Ricardo Correia

Sizeof() returned the size of a pointer instead of the size of the buffer.
Fixes issue #1924.
Merge pull request #1947 from centromere/freebsd_cpu_fix

Fixed 100% CPU utilization problem on FreeBSD 9
Don't force getblocktemplate to have a parameter.

This looks like it was just a munged merge when ultraprune
was committed.
Show warning when using prerelease version

Implements #1948

- Add macro `CLIENT_VERSION_IS_RELEASE` to clientversion.h
- When running a prerelease (the above macro is `false`):
  - In UI, show an orange warning bar at the top. This will be used for other
    warnings (and alerts) as well, instead of the status bar.
  - For `bitcoind`, show the warning in the "errors" field in `getinfo`
    response.
Merge pull request #1925 from Diapolo/gcc-hardening

GCC hardening for Bitcoin-Qt
ensure AskPassphraseDialog::eventFilter forwards events

- instead of "return false;" use "return QDialog::eventFilter(object,
  event);" to harmonize this event filter with our default behaviour
- remove orphan spaces found while editting the files
Merge pull request #1959 from Diapolo/eventFilter_askpassphrasedlg

ensure AskPassphraseDialog::eventFilter forwards events
Merge pull request #1955 from gmaxwell/gbt_paramfix

Don't force getblocktemplate to have a parameter.
Merge pull request #1956 from laanwj/2012_10_prerelease_warning

Show warning when using prerelease version