key.cpp: fail with a friendlier message on missing ssl EC support

Previously if bitcoind is linked with an OpenSSL which is compiled
without EC support, this is seen as an assertion failure "pKey !=
NULL" at key.cpp:134, which occurs after several seconds. It is an
esoteric piece of knowledge to interpret this as "oops, I linked
with the wrong OpenSSL", and because of the delay it may not even
be noticed.

The new output is

: OpenSSL appears to lack support for elliptic curve cryptography. For
more information, visit
https://en.bitcoin.it/wiki/OpenSSL_and_EC_Libraries
: Initialization sanity check failed. Bitcoin Core is shutting down.

which occurs immediately after attempted startup.

This also blocks in an InitSanityCheck() function which currently only
checks for EC support but should eventually do more. See #4081.
Remove double-dash parameters from mapArgs

Should be merged after pull request #4281
("Add `-version` option to get just the version #4281"),
because is changed "--help" to "-help".

Checked that grep of 'mapArgs.count("--' returned only
three places that are fixed by pull request #4281.
Add MiningRequiresPeers chain parameter
Add MineBlocksOnDemand chain parameter
Add DefaultMinerThreads chain parameter
Add DefaultCheckMemPool chain parameter
Get rid of RegTest()
Move majority constants to chainparams
Add AllowMinDifficultyBlocks chain parameter
Add RequireStandard chain parameter
Add RPCisTestNet chain parameter
Get rid of TestNet()
Replace virtual methods with static attributes, chainparams.h depends on
protocol.h instead of the other way around
net.h was using std namespace through chainparams.h included in protocol.h
Use Params().NetworkID() instead of TestNet() from the payment protocol
gitian: upgrade OpenSSL to 1.0.1h

Upgrade for https://www.openssl.org/news/secadv_20140605.txt

Just in case - there is no vulnerability that affects ecdsa signing or
verification.

The MITM attack vulnerability (CVE-2014-0224) may have some effect on
our usage of SSL/TLS.

As long as payment requests are signed (which is the common case), usage
of the payment protocol should also not be affected.

The TLS usage in RPC may be at risk for MITM attacks. If you have
`-rpcssl` enabled, be sure to update OpenSSL as soon as possible.
build: Switch to non-recursive make

Build logic moves from individual Makefile.am's to include files, which
the main src/Makefile.am includes. This avoids having to manage a gigantic
single Makefile.

TODO: Move the rules from the old Makefile.include to where they actually
belong and nuke the old file.
build: delete old Makefile.am's
build: add stub makefiles for easier subdir builds
build: nuke Makefile.include from orbit

Rules and targets no longer need to be shared between subdirectories, so
this is no longer needed.