[Qt] add all used colors in txtablemodel to guiconstants

- add colors used in TX status decoration
[Qt] simplify return code and return values in txtablemodel

- also move an added space in a string where it belongs
Avoid copying undo data
typo fix of booleamn to boolean
prefer const string& over char* in CDB and CWalletDB constructor

- also make parameter of CDBEnv::CheckpointLSN a constant reference
cleanup class private and public areas in walletdb

- only code movement
Merge pull request #4931

93f84d0 cleanup class private and public areas in walletdb (Philip Kaufmann)
22d7e70 prefer const string& over char* in CDB and CWalletDB constructor (Philip Kaufmann)
Merge pull request #4936

c15e483 typo fix of booleamn to boolean (imharrywu)
Remove mention of MacPorts from OSX build docs
Merge pull request #4939

d547ebf Remove mention of MacPorts from OSX build docs (Wladimir J. van der Laan)
Merge pull request #4667

bbad683 [Qt] simplify return code and return values in txtablemodel (Philip Kaufmann)
21f1516 [Qt] add all used colors in txtablemodel to guiconstants (Philip Kaufmann)
Fixing 'vector out of bounds' issue in base 32 and 64
Merge pull request #4944

018cec7 Fixing 'vector out of bounds' issue in base 32 and 64 (ENikS)
Merge pull request #4835

ab15b2e Avoid copying undo data (Pieter Wuille)
Use ModifyCoins instead of mutable GetCoins.

Replace the mutable non-copying GetCoins method with a ModifyCoins, which
returns an encapsulated iterator, so we can keep track of concurrent
modifications (as iterators can be invalidated by those) and run cleanup
code after a modification is finished.

This also removes the overloading of the 'GetCoins' name.
Get rid of CCoinsView's SetCoins and SetBestBlock.

All direct modifications are now done through ModifyCoins, and BatchWrite is
used for pushing batches of queued modifications up, so we don't need the
low-level SetCoins and SetBestBlock anymore in the top-level CCoinsView class.
Do not keep fully spent but unwritten CCoins entries cached.

Instead of storing CCoins entries directly in CCoinsMap, store a CCoinsCacheEntry
which additionally keeps track of whether a particular entry is:
* dirty: potentially different from its parent view.
* fresh: the parent view is known to not have a non-pruned version.

This allows us to skip non-dirty cache entries when pushing batches of changes up,
and to remove CCoins entries about transactions that are fully spent before the
parent cache learns about them.
Add coins_tests with a large randomized CCoinViewCache test.