Replace 520 constant with MAX_SCRIPT_ELEMENT_SIZE

Conflicts:
	src/main.cpp
Check redeemScript size does not exceed 520 byte limit

redeemScripts >520bytes can't be spent due to the
MAX_SCRIPT_ELEMENT_SIZE limit; previously the addmultisigaddress and
createmultisig RPC calls would let you violate that limit unknowingly.

Also made the wallet code itself check the redeemScript prior to adding
it to the wallet, which in the (rare) instance that a user has added an
invalid oversized redeemScript to their wallet causes an error on
startup. The affected key isn't added to the wallet; other keys are
unaffected.

Conflicts:
	src/keystore.cpp
	src/rpcmisc.cpp
	src/rpcwallet.cpp
fix periodical gui lag
schedule hardfork
new block timestamp limits

past: time of last block
future: +15 seconds
change block time from 60 to 64 seconds
new stake protocol
block version 7

use double sha256 instead of scrypt for block hash
using scrypt provides no advantage and is orders of magnitude slower
adapt stake miner to new protocol
adapt GetStakeWeight() to new protocol
adapt GetPoSKernelPS() to new protocol
force testnet