* client: add tests for reorging on diverged finality
* client: mark finalized block as best if diverged from current best chain
* client: update meta on set_head
* core: add docs about SelectChain to finalize_block
* client: improve finality reorg test
* client: LongestChain doesn't return client best block
* client: LongestChain searches canonical chain