[refactor] add new common blockscanner
This creates a new common block scanner. This one is a bit simpler and changes the relationship between common block scanner and the chain implementation. It keeps these two things as more separate.
Edited by Son of Odin