Prevent the premature adjustment of the coins cache size
Prevent the premature adjustment of the coins cache size

When a user hasn't selected a dbcache size then auto adjustment
takes place.  However what was happening is that the final step,
when the chain is nearly syncd, was getting executed right at the
beginning of sync and causing the coinscache to be auto sized very
small, with subsequent performance issues of repeated flushing of
the coins cache.  The solution here is just to make sure that
chaingActive.Tip() exists and we also switched from IsChainNearlySyncd
to !IsInitialBlockDownload because during the very initial part of sync
the IsChainNearlySyncd() can return true as blocks are processed right
up to the point where we have downloaded headers.

Justaphf/BitcoinUnlimited,BitcoinUnlimited/BitcoinUnlimited,Justaphf/BitcoinUnlimited,BitcoinUnlimited/BitcoinUnlimited,BitcoinUnlimited/BitcoinUnlimited,BitcoinUnlimited/BitcoinUnlimited,Justaphf/BitcoinUnlimited,BitcoinUnlimited/BitcoinUnlimited,Justaphf/BitcoinUnlimited,Justaphf/BitcoinUnlimited,Justaphf/BitcoinUnlimited,BitcoinUnlimited/BitcoinUnlimited