FinalizeBlockAndInvalidate: just use chainActive
Summary:
Generally we're better off using the chainActive random access vector
than using the CBlockIndex linked lists, whenever we can.
Bonus: correctly handle the case when pindex is a child of Tip (i.e.,
when pindexFork == Tip), where it's not needed to invalidate anything.
Not sure why that would ever happen but why not do it right...
Test Plan: ninja check-all
Reviewers: fpelliccioni, jasonbcox, #bitcoin_abc, deadalnix
Reviewed By: #bitcoin_abc, deadalnix
Differential Revision: https://reviews.bitcoinabc.org/D5069