Fix IsInitialBlockDownload which was broken by headers first.

I think what we're trying to approximate here is "are you caught up to at least the point that you should have been at when you got the software", without having to insert a block height or total work into every download as it ships. And it's okay if it sometimes falsely returns false too early. It's not really okay if it returns true too late.

Esp since right now it'll make you stop mining, meaning you can potentially get a remotely triggerable attack out of it.  So probably I think wumpus' idea is good: once it turns on, never go off again.  ... and then we can be pretty conservative with turning it on the first time.