Add a skiplist to the CBlockIndex structure.

Another piece of logic that is needed in headersfirst: a fast way to determine whether a tip of the header chain is an descendant of what a particular peer has available.

A skip list is easy to add to the existing structure, and allows fast (O(log n)) access to far predecessor blocks. 

The current code only uses it to speed up CChain::FindFork and CChain::GetLocator.