MOVEONLY: Move void UpdateTime() from pow.o to miner.o (plus fix include main.h -> chain.h)
CBlockIndex::GetBlockWork() + GetProofIncrement(nBits) -> GetBlockProof(CBlockIndex)
Discourage NOPs reserved for soft-fork upgrades

NOP1 to NOP10 are reserved for future soft-fork upgrades. In the event
of an upgrade such NOPs have *VERIFY behavior, meaning that if their
arguments are not correct the script fails. Discouraging these NOPs by
rejecting transactions containing them from the mempool ensures that
we'll never accept transactions, nor mine blocks, with scripts that are
now invalid according to the majority of hashing power even if we're not
yet upgraded. Previously this wasn't an issue as the IsStandard() rules
didn't allow upgradable NOPs anyway, but 7f3b4e95 relaxed the
IsStandard() rules for P2SH redemptions allowing any redeemScript to be
spent.

We *do* allow upgradable NOPs in scripts so long as they are not
executed. This is harmless as there is no opportunity for the script to
be invalid post-upgrade.
Port/fix txnmall.sh regression test

Ported txnmall.sh to Python, and updated to match
recent transaction malleability changes.

I also modified it so it tests both double-spending
confirmed and unconfirmed (only-in-mempool) transactions.

Renamed to txn_doublespend, since that is really what is
being tested. And told the pull-tester to run both
variations on this test.
Truthier error message when rpcpassword is missing
Update comments in src/rpc* to be doxygen compatible
build: make a distinction between static app ldflags and static lib ldflags

For windows builds, exe's are always static, but libs should still conform to
--enabled-shared and --enable-static.
build: mingw needs libssp for hardening with dlls
build: check visibility attributes
build: remove internal/protected build attribute checks

They're not necessary, and not always supported. We only need to know about
hidden and default.
build: add libbitcoinconsensus files and hook up the lib build

Credit BlueMatt for libbitcoinsonsensus.h/cpp
build: add --with-libs so that libs are optional
build: add quick consensus lib tests

They should be hooked up in other places as well, but this is a start.
build: shared lib build should work reasonably well now
build: fix static dll link for mingw

dll's are no longer dynamically linked to libgcc/libstdc++/libssp
build: pad header for osx libs

This ensures that users of the lib will be able to mangle the paths to work
in their bundles.
depends: Use pic for all linux dependencies

This avoids textrels, and matches previous gitian behavior.
depends: Add a package for qt4.6. Linux uses it by default.

We're not ready to switch to a static qt5 for Linux yet due to missing plugin
support. This adds a recipe for building a shared qt4 that we build and link
against, but don't distribute.

make USE_LINUX_STATIC_QT5=1 can be used to build static qt5 as before.
gitian: descriptors overhaul

Descriptors now make use of the dependencies builder, so results are cached.
A very new version (>= e9741525c) of Gitian should be used in order to take
advantage of caching.
gitian: quick docs update