gitian: Make linux build of OpenSSL deterministic

OpenSSL was embedding a timestamp causing its build to be
non-deterministic.
Change deps-linux to be deterministic by using FAKETIME
as needed and disabling it when it gets in the way.
gitian: Make linux boost dependency completely deterministic

It appears that the output was different every time.

This doesn't affect the final bitcoind/bitcoin-qt, but is confusing
nevertheless.

Fix it by using FAKETIME and zipping files in deterministic order.
gitian: Make windows dependencies outputs fully deterministic

Sort .zip order, and other determinism changes to make sure builds
are repeatable for windows deps.
gitian: Sort generated source distribution archive

Sort the filenames in the resulting tar, normalize the time/date
and user/group information.
gitian: add -D flag to ar for deterministic output for linux deps

ar -D: Operate in deterministic mode. When adding files and the archive
index use zero for UIDs, GIDs, timestamps, and use consistent file modes
for all files.  When this option is used, if ar is used with identical
options and identical input files, multiple runs will create identical
output files regardless of the input files' owners, groups, file modes,
or modification times.
gitian: Post-process .a libraries for win to be deterministic
gitian: sort generated source distribution archive for windows

Make the bitcoin-X.X.X.tar.gz deterministic.
Merge pull request #3625

4ce9106 gitian: sort generated source distribution archive for windows (Wladimir J. van der Laan)
6b55e6b gitian: Post-process .a libraries for win to be deterministic (Wladimir J. van der Laan)
c43d1e5 gitian: Make windows dependencies outputs fully deterministic (Wladimir J. van der Laan)
Merge pull request #3622

c13a13e gitian: add -D flag to ar for deterministic output for linux deps (Wladimir J. van der Laan)
1552145 gitian: Sort generated source distribution archive (Wladimir J. van der Laan)
aabcd11 gitian: Make linux boost dependency completely deterministic (Wladimir J. van der Laan)
aa93485 gitian: Make linux build of OpenSSL deterministic (Wladimir J. van der Laan)
Add option to avoid spending unconfirmed change
Move IsPushOnly() to script.cpp
Add HasCanonicalPushes(), and use it in IsStandardTx
Merge pull request #3025 from sipa/noncanpush

Make signatures with non-canonical data pushes non-standard.
Merge pull request #3651

1bbca24 Add option to avoid spending unconfirmed change (Wladimir J. van der Laan)