Add quarantine to forkedchain
When syncing, the syncer works with stale information with respect to the latest blocks arriving from the CL - as such, when the syncer is about to finish, it's  likely that the chain has moved on to a new block or blocks that the EL has observed and discarded. 

Instead of using the syncer to top up this end-game gap, a quarantine in FC can hold up to N blocks that arrive from the API and/or elsewhere (doesn't matter where it comes from really) and apply these - it works the following way:

* when a block arrives whose parent is unknown, it is put in a bounded quarantine
* every time a block with a known parent is successfully added to FC, the quarantine is examined for blocks whose parent is now known (the block just added).
* These blocks are applied, removing them from the quarantine and repeating the process until no more blocks can be applied.

