move all the blk file loading code to its own class, so that we get better code reuse there, and so that I can
fix HeadersFirst, because for that updates need to be read all at once before they're applied.

temporary disable the block corruption test, it's not passing, and while I think
the reasonable behavior of block corruption should be "undefined", what I'm currently doing could improve, so
I'll do that later.

Armory is now 400 lines shorter :)