Merge pull request #3329 from gavinandresen/syncdebug

mutex debugging routines: LocksHeld() and AssertLockHeld()
Make unit tests succeed with -DDEBUG_LOCKORDER
Fix a rare crash on Mac OS X, by removing a setFocus on the payTo field that was not necessary, as the field still receives focus without it.
Merge pull request #3339

bae6c7e Fix a rare crash on Mac OS X, by removing a setFocus on the payTo field that was not necessary, as the field still receives focus without it. (Ryan Niebur)
Lossless image optimization

less bytes, same images
Merge pull request #3341 from Need4Video/master

Lossless image optimization
[Qt] coin-control features GUI cleanup 2

- remove monospace labels from sendcoinsdialog also
- use a validated line edit for the change address
- add a tooltip to change address switch
- ensure we have a valid change address in
  CoinControlDialog::coinControl->destChange or just CNoDestination()
- some small ui file changes
[Qt] coin-control features GUI cleanup 3

- remove style sheets from ui files and use Qt attributes instead
- make some more strings untranslatable, to make life for translators
  easier
- split up long tooltips an rework the texts a little
Sanitize assert usage and refuse to compile with NDEBUG.

There were quite a few places where assert() was used with side effects,
 making operation with NDEBUG non-functional.  This commit fixes all the
 cases I know about, but also adds an  #error on NDEBUG because the code
 is untested without assertions and may still have vulnerabilities if
 used without assert.
Fix file hash verification error in deps-win32.yml

libpng was being sha256summed twice, and miniupnpc wasn't being checked at all.
Merge pull request #3344 from gmaxwell/assert_hazards

Sanitize assert usage and refuse to compile with NDEBUG.
Merge pull request #3345 from Michagogo/gitian-descriptor-deps-input-typo

Fix file hash verification error in deps-win32.yml
bitcoin-cli: remove unneeded dependencies (only code movement)

Remove unnecessary dependencies for bitcoin-cli
(leveldb, berkelydb, wallet, RPC server)

Build system changes:
- split libbitcoin.a into libbitcoin_common.a, libbitcoin_server.a and
  libbitcoin_cli.a

Code changes (movement only):
- split up HelpMessage into HelpMessage in init.cpp and HelpMessageCli
  in rpcclient.cpp
- move uiInterface from init.cpp to util.cpp
Merge pull request #3320 from laanwj/2013_11_cli_split

bitcoin-cli: remove unneeded dependencies (only minor code movement)
[Qt] small notificator and style changes

- remove default arguments for notificator
- re-order some calls to use same ordering in Qt files
- style police changes (spaces, comments and such)
Merge pull request #3285

d3207b6 [Qt] coin-control features GUI cleanup 3 (Philip Kaufmann)
834e14e [Qt] coin-control features GUI cleanup 2 (Philip Kaufmann)
Payment request URI syntax changed, from request=... to r=...

BIP 72 was changed to save six bytes in bitcoin: URIs.
qt: use deleteLater to remove send entries

Use deleteLater() instead of delete, as it is not allowed
to delete widgets directly in an event handler.
Should solve the MacOSX random crashes on send with coincontrol.
Merge pull request #3355

6c98cca qt: use deleteLater to remove send entries (Wladimir J. van der Laan)
Move HelpExample* from rpcwallet to rpcserver

General functions used throughout the RPC framework
don't belong in rpcwallet.