Make CNetAddr::GetHash() return an unsigned val.

This prevents an undefined operation in main.cpp, when shifting the hash value
left by 32 bits.
Shifting a signed int left into the sign bit is undefined in C++11.
Don't overflow signed ints in CBigNum::setint64().

CBigNum::setint64() does 'n <<= 8', where n is of type "long long".

This leads to shifting onto and past the sign bit, which is undefined
behavior in C++11 and can cause problems in the future.
Add test case for CBigNum::setint64().

One of the test cases currently aborts when using gcc's flag -ftrapv, due to
negating an INT64_MIN int64 variable, which is an undefined operation.

This will be fixed in a subsequent commit.
Fix signed subtraction overflow in CBigNum::setint64().

As noticed by sipa (Pieter Wuille), this can happen when CBigNum::setint64() is
called with an integer value of INT64_MIN (-2^63).

When compiled with -ftrapv, the program would crash. Otherwise, it would
execute an undefined operation (although in practice, usually the correct one).
Added 'immature balance' for miners. Only displayed if the balance is greater than zero.

This adds a field labelled 'Immature' in the overview section under the 'unconfirmed' field, which shows mined
income that has not yet matured (which is currently not displayed anywhere, even though the transactions
exist in the transaction list). To do that I added a 'GetImmatureBalance' method to the wallet, and connected
that through to the GUI as per the 'GetBalance' and 'GetUnconfirmedBalance' methods. I did a small 'no-op'
change to make the code in adjacent functions a little more readable (imo); it was a change I had made in my
repo earlier...but I thought it wouldn't hurt so left it in. Immature balance comes from mined income that is
at least two blocks deep in the chain (same logic as displayed transactions).

My reasoning is:
- as a miner, it's a critical stat I want to see
- as a miner, and taking into account the label 'immature', the uncertainty is pretty clearly implied
- those numbers are already displayed in the transaction list
- this makes the overview numbers add up to what's in the transaction list
- it's not displayed if the immature balance is 0, so won't bother non-miners

I also 'cleaned' the overview UI a little, moving code to the XML and removing HTML.
Rework network config settings
Fix noinline definition so that it works for more compilers.
Use C++-style numeric limits instead of C-style.
change verifymessagepage behaviour to match RPC-call "verifymessage" (input address, signature and message) / display messages in status label (remove message boxes) / resize window to make signature fully readable / change signature font to BC-address font (like in messagepage) / remove checkAddress() and place code directly in on_verifyMessage_clicked() / add visual feedback to LineEdits / remove AddressTableModel references, as they are now unused / add addr.GetKeyID(keyID) check
move class HelpMessageBox to guiutil.cpp/.h / add button to show Bitcoin command-line options (in RPC Console -> Information) / resize Debug window a little to allow for a non-breaking display of the welcome message with non-english translation
Merge pull request #1364 from Diapolo/move_HelpMessage_GUIUtil_add_RPCCon_Button

GUI: move class HelpMessageBox to guiutil.cpp/.h
Merge pull request #1368 from Diapolo/verifymessagepage

GUI: change verifymessagepage behaviour to match RPC-call "verifymessage"
Merge pull request #837 from sje397/ShowImmatureBalance

Added 'immature balance' for miners. Only displayed if the balance is > 0
"USE_UPNP=-" is needed to remove UPnP support.
Merge pull request #1415 from dooglus/fix-build-unix.txt

"USE_UPNP=-" is needed to remove UPnP support.
Merge pull request #1411 from TheBlueMatt/debian

Update contrib/debian.
Refactor SelectCoinsMinConf() and add unit tests.

AvailableCoins() makes a vector of available outputs which is then passed to SelectCoinsMinConf().  This allows unit tests to test the coin selection algorithm without having the whole blockchain available.
Move the random_shuffle call back into SelectCoinsMinConf() so we can unit test it.
Test that the coin selection code is suitably random, and add tests re. sub-cent change.
Preserve the shuffled order of coins with equal value to give more randomized coin selection.