banlist: update set dirty to be more fine grained
- move the SetBannedSetDirty(false) call from DumpData() into DumpBanlist()
- ensure we only set false, if the write succeeded
banlist: better handling of banlist in StartNode()
- only start working on/with banlist data, if reading in the banlist from disk didn’t fail
- as CNode::setBannedIsDirty is false (default) when reading fails, we don’t need to explicitly set it to false to prevent writing banlist.dat in that case either
banlist: add more banlist infos to log / add GUI signal
- to match the peers.dat handling also supply a debug.log entry for how many entries were loaded from banlist.dat and how long it took
- add a GUI init message for loading the banlist (same as with peers.dat)
- move the same message for peers.dat upwards in the code, to be able to reuse the timing variable nStart and also just log, if our read from peers.dat didn’t fail
banlist (bugfix): allow CNode::SweepBanned() to run on interval
- allows CNode::SweepBanned() to run, even if !CNode::BannedSetIsDirty(), because if nBanUntil is over we want the ban to be disabled for these nodes