Make sure that GetRandomBytes never fails

We're using GetRandomBytes in several contexts where it's either
unwieldy to return an error, or an error would mean a fatal exception
anyhow.

@gmaxwell checked OpenSSL a while ago and discovered that it never
actually fails, but it can't hurt to be a bit paranoid here.
Adding license.
Adding const.
Merge pull request #5249

38c62ae Adding const. (sinetek)
Merge pull request #5239

65e3a1e Make sure that GetRandomBytes never fails (Wladimir J. van der Laan)
Merge pull request #5246

a8a5e01 Adding license. (sinetek)
Split logic to undo txin's off DisconnectBlock.

Instead, create a separate function that applies the undo operation of a
CTxInUndo object onto a CCoinsViewCache.  This method is used from
DisconnectBlock.
Rename bitcoin to namecoin for CLI programs.

Update the autotools system to rename bitcoind to namecoind and the same
for bitcoin-cli and bitcoin-tx.
Set Namecoin's chain parameters.
Strip name prefixes in Solver.

Implement basic name script parsing and use it to strip name prefixes in
the Solver() routine.
Disable some failing tests.

Some tests have to be disabled, since they rely on the (changed) chain
parameters.  They can probably be re-enabled with due diligence, but
disable them for now.
Implement basic tests for name scripts.
Implement name database into CCoinsView.
Implement checking of name transactions.

Check Namecoin protocol rules for transactions.  The name database is
not yet updated as it should be, and there's no unit test for the checks
yet.
Write unit tests for CheckNameTransaction.
Record name updates in the chain state.

This patch does not only *validate* name transactions, but also record
their changes made in the CCoinsView (aka chain state).  This makes the
code sync again for the first few thousand blocks.
Implement undo support for name operations.

Record changes made to the name database in the block undo data, so that
we can correctly disconnect blocks again.
Unit tests for name updates and name undo data.
Add name_show RPC call.
Update regtest framework.

Update configuration for the regtest framework as well as all rpc-test
scripts.  No new tests, though.