Enable paranoid corruption checks in LevelDB >= 1.16
rework help messages for fee-related options

- mention the units and show the default for -paytxfee
Add DNS seed of open-nodes.org
[Qt] New status bar Unit Display Control and related changes.

- New status bar control shows the current Unit of Display.
  When clicked (left,or right button) it shows a context menu
  that allows the user to switch the current Unit of Display (BTC, mBTC, uBTC)
- Recent Requests and Transaction Table headers are now updated when
  unit of display is changed, because their "Amount" column now displays the
  current unit of display.
- Takes care of issue #3970 Units in transaction export csv file.
- Small refactors for reusability.
- Demo Video https://www.youtube.com/watch?v=wwcr0Yh68go&list=UUG3jF2hgofmLWP0tRPisQAQ
- changes after Diapolo's feedback. Have not been able to build after last pool, issues with boost on MacOSX, will test on Ubuntu these changes.
- removed return statement on switch
- renamed onDisplayUnitsChanged(int) to updateDisplayUnit(int)
- now getAmountColumnTitle(int unit) takes a simple unit parameter. moved to BitcoinUnits.
small cleanup of #ifdefs in BindListenPort()

- SO_NOSIGPIPE isn't available on WIN32 so merge the 2 non-WIN32 blocks
- use predefined names from header for IPV6_PROTECTION_LEVEL and
  PROTECTION_LEVEL_UNRESTRICTED
add missing BOOST_FOREACH indentation in ThreadSocketHandler()
add OpenSSL RAND_cleanup() on OpenSSL shutdown

- to securely erase the memory used by the PNRG
- also rework 2 comments in OpenSSL init
Use async name resolving to improve net thread responsiveness

In the LookupIntern(), things changed are:

  1. Call getaddrinfo_a() instead of getaddrinfo() if available, the former is a sync version of the latter;
  2. Try using inet_pton()/inet_addr() to convert the input text to a network addr structure at first, if success the extra name resolving thread inside getaddrinfo_a() could be avoided;
  3.  An interruption point added in the waiting loop for return from getaddrinfo_a(), which completes the improve for thread responsiveness.

A easy way to see the effect is to kick off a 'bitcoind stop' immediately after 'bitcoind -daemon', before the change it would take several, or even tens of, minutes on a bad network situation to wait for the running bitcoind to exit, now it costs only seconds.

Signed-off-by: Huang Le <4tarhl@gmail.com>
RPC client: Simplify command line string-to-JSON-value conversion code

By default, all command line parameters are converted into JSON string
values.  There is no need to manually specify the incoming type.

A binary decision "parse as string or JSON?" is all that's necessary.

Convert to a simple class, initialized at runtime startup, which offers
a quick lookup to answer "parse as JSON?" conversion question.

Future parameter conversions need only to indicate the method name
and zero-based index of the parameter needing JSON parsing.
Merge pull request #4415

e35b37b RPC client: Simplify command line string-to-JSON-value conversion code (Jeff Garzik)
test: Fix warning about integer signedness in P2SH tests
http to https, 2013 to 2014
Merge pull request #4397

5d59921 add missing BOOST_FOREACH indentation in ThreadSocketHandler() (Philip Kaufmann)
9e9ca2b small cleanup of #ifdefs in BindListenPort() (Philip Kaufmann)
fix copyright string in two of our *.rc files

- also make comment about rc-files in clientversion.h generic

Merges #4429.
typedef std::map<uint256, CCoins> to CCoinsMap

This makes it possible to switch to a more efficient map type
without changing all occurences manually.

Merges half of #4413.
Merge pull request #4447

9a6497e http to https, 2013 to 2014 (Trevin Hofmann)
Merge pull request #4325

4aaa017 rework help messages for fee-related options (Philip Kaufmann)
qt: Log messages with type>QtDebugMsg as non-debug

More important messages should end up in the log no matter
if -debug=qt is set.
qt: Change serious messages from qDebug to qWarning

By changing the logging stream for warnings from qDebug to qWarning,
these will always be logged to debug.log.
Merge pull request #4448 from laanwj/2014_07_qt_payment_rq_logging

qt: Always log warning/error messages to debug.log