Also switch the (unused) verification code to low-s instead of even-s.

a81cd968 introduced a malleability breaker for signatures
(using an even value for S). In e0e14e43 this was changed to
the lower of two potential values, rather than the even one.
Only the signing code was changed though, the (for now unused)
verification code wasn't adapted.
Fix script test handling of empty scripts

Previously an empty script would evaluate to OP_0
Test CHECKMULTISIG with m == 0 and n == 0
script: add CScriptNum class

This class holds an int64_t and replaces the use of CBigInt for script
integrals.
script: switch to CScriptNum usage for scripts
script: switch outside users to CScriptNum
script: remove bignum dependency
script: add additional script tests
script: Add test for CScriptNum

Because this class replaces some usages of CBigNum, tests have been added to
verify that they function the same way. The only difference in their usage is
the handling of out-of-range numbers.

While operands are constrained to [-0x7FFFFFFF,0x7FFFFFFF], the results may
overflow. The overflowing result is technically unbounded, but in practice
it can be no bigger than the result of an operation on two operands. This
implementation limits them to the size of an int64.

CBigNum was unaware of this constraint, so it allowed for unbounded results,
which were then checked before use. CScriptNum asserts if an arithmetic
operation will overflow an int64_t, since scripts are not able to reach those
numbers anyway. Additionally, CScriptNum will throw an exception when
constructed from a vector containing more than 4 bytes This mimics the previous
CastToBigNum behavior.
Split up CheckBlock in a block and header version
Split AcceptBlockHeader from AcceptBlock.

Also modify some connection logic to deal with non-full blocks in the index.
Log BerkeleyDB version at startup

Prints the actual version of BerkeleyDB that is linked against, if
wallet support is enabled.

Useful for troubleshooting.

For example:

    2014-05-01 07:44:02 Using BerkeleyDB version Berkeley DB 4.8.30: (April 9, 2010)

    2014-05-01 07:54:25 Using BerkeleyDB version Berkeley DB 5.1.29: (October 25, 20 11)
Update build instructions for Berkeley DB

- People were having problems with the .so when installing in
  alternative locations.
  Like gitian, build a static library with -fPIC that can
  be embedded into the executables.

- Add some missing steps

- Add reminder that BerkeleyDB is only needed when wallet support is
  enabled
Removed LevelDB changes

Syntax Highlighting
better std::exception logging for CAddrDb

- also small logging text changes
gitian: use right qt tools in linux build

If the `libqt4-dev` package is installed it picks the moc executable
from the system instead of our custom-built one. This results in
compatibility errors.

This commit convinces configure to pick the right one.
Merge pull request #3602

2fdd4c7 better std::exception logging for CAddrDb (Philip Kaufmann)
Merge pull request #4114

bfb154e Update build instructions for Berkeley DB (Wladimir J. van der Laan)
d0a2e2e Log BerkeleyDB version at startup (Wladimir J. van der Laan)
stop bitcoind/bitcoin-cli processes that might have been left running
Merge pull request #4074

d3081fa Removed LevelDB changes (super3)