Longer term workaround for chainstate corruption from negative versions.

This also makes negative transaction versions non-standard.

This avoids an issue triggered in block 256818 where transactions with
negative version numbers were incorrectly serialized into the UTXO set.

On restart nodes detect the inconsistency and refuse to start so long as
a block with these transactions is inside the self-consistency check
window, logging "coin database inconsistencies found". The software
recommends reindexing, but reindexing does not correct the problem.

This should be fixed by changing the chainstate serialization, but
working around it seems harmless for now because the version is not
used by any network rule currently.

A patch free workaround is to start with -checklevel=2 which skips
the consistency checks, but the IsStandard change is important for
miners in order to protect unpatched nodes.
autotools: use an absolute path to test data
configure: Check common include subdirectories for bdb headers, and refuse to use any version other than 4.8 by default
build-unix.md: Remove now-redundant and unnecessary Gentoo instructions
configure: Prefer specific known-good versions of Qt metacompiler tools
Bugfix: Since test_bitcoin is being built and run inside src/test/, try using relative directories from that point
Merge pull request #2982 from gmaxwell/20130908_ccoins_corrupt

Longer term workaround for chainstate corruption from negative versions.
Merge pull request #2979 from luke-jr/autoconf

Autoconf fixes
Move Parse{Hash|Hex} to be usable by all RPC code
Add RPC call decodescript
Make validateaddress provide redeemScript
Merge pull request #2830 from petertodd/p2sh-rpc

P2SH related RPC improvements