Make settxfee clear that units are MONA/KB.
Fix minor unit test memory leaks
Bitcoin-Qt: BitcoinGUI::message() updates/fixes

- ensure message boxes are shown in center of our main window, not
centered on the users desktop
- always prefer user supplied titles for message boxes over the
functions
defaults (fixes a bug, where transaction info messages did not contain
information, if it was incoming or outgoing)
misc small spelling/indentation fixes
fix #3049 by changing comment for CNetAddr::IsRFC4193()
Bitcoin-Qt: prevent stuck/unusable debug window on exit

- when closing the client with an open debug window, that window could
become stuck/unsuable (it was still shown wherea the main window was
hidden already)
- fix this by hiding the debug window, when quitting the the client
Update Qt 4.8.3 download link

Conflicts:
contrib/gitian-descriptors/README
Avoid core dump if rpc port is in use.

The cleanup code needs to check for NULL rpcworkers thread group.
Bugfix: Avoid trying to parse outputs that aren't relevant to CWallet…

…Tx::GetAmounts

This fixes a warning when an output we aren't concerned with can't be
parsed.
Bugfix: Supress "address" key in transaction details, when the destin…

…ation isn't recognized

Previously, it would pass corrupt/random through base58.
RPC: prevent crash with walletpassphrase

- fix crash with walletpassphrase by checking if RPC server is running
and
give a friendly error message how to fix this (fixes #3100)
- add 3 new RPCErrorCodes RPC_SERVER_NOT_STARTED
- use the new code where needed / missing

Upstream: 4315ec1

Conflicts:
src/rpcnet.cpp
src/rpcwallet.cpp
bitcoingui: show main window (if hidden) on modal messages

Conflicts:
src/qt/bitcoingui.cpp

Conflicts:
src/qt/bitcoingui.cpp
Bug fix: CDataStream::GetAndClear() when nReadPos > 0

Changed CDataStream::GetAndClear() to use the most obvious
get get and clear instead of a tricky swap().

Added a unit test for CDataStream insert/erase/GetAndClear.

Note: GetAndClear() is not performance critical, it is used only
by the send-a-message-to-the-network code. Bug was not noticed
before now because the send-a-message code never erased from the
stream.
Show short scriptPubKeys correctly

Previously bitcoin-qt's -debug transaction info was showing
CTxOut([error])

It is valid for a scriptPubKey to be any size, for example simply
OP_RETURN is valid and can be used to destroy a TXOUT to mining fees.

Conflicts:
src/core.cpp
qt: add license header to source files

Closes #839

Conflicts:
src/qt/addressbookpage.cpp
src/qt/guiutil.cpp
src/qt/intro.cpp
src/qt/intro.h
src/qt/macnotificationhandler.h
src/qt/optionsdialog.cpp
src/qt/optionsmodel.cpp
src/qt/paymentrequestplus.cpp
src/qt/paymentrequestplus.h
src/qt/paymentserver.cpp
src/qt/receivecoinsdialog.cpp
src/qt/receivecoinsdialog.h
src/qt/receiverequestdialog.cpp
src/qt/receiverequestdialog.h
src/qt/trafficgraphwidget.cpp
src/qt/trafficgraphwidget.h
src/qt/walletmodeltransaction.cpp
src/qt/walletmodeltransaction.h
doc: replace DOS with MSYS shell to be more consistent

A plain DOS window doesn't have the right path settings, whereas
the MSYS shell window does.

Conflicts:
doc/build-msw.md
Partial: 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.

Conflicts:
src/key.cpp
src/main.cpp
src/wallet.cpp
Change release-process.md to sign release tags

Conflicts:
doc/release-process.md
Update build-osx.md

Conflicts:
doc/build-osx.md
Explicitly ensure that wallet is unlocked in `importprivkey`

This makes for a more useful error reply (fixes #957).