CDataStream::ignore Throw exception instead of assert on negative nSize.
CDataStream::ignore Throw exception instead of assert on negative nSize.

Previously disk corruption would cause an assert instead of an exception.

(cherry picked from commit 4bf631e5e48cd4c14c825cdaf7a1bee81e15493d)
--
Note added by awemany: This is a port of Core's commit by Patrick Strateman
in the Bitcoin Core repository. The problem was found through fuzzing on BU
and was presumably found the same way in Bitcoin Core.

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