Fixed crashing, now gets all blocks+tx properly

Updated checkpoints, strings.

Exchange rate provider was broken (vircurex didn't work) now it does.

Block class was broken after many small changes, went back and reworked
it with merged-mining support.
Transactions were not being parsed properly, offset wasn't being
calculated as well as bytes were not stored properly they were using
pointers in my last implementation. But there was corruption so I
reverted back to storing bytes for every block.

I'm still not sure if I need to serialize and store the merged-mining
information as the only thing that needs it is checkProofOfWork() which
validates the block based on target difficulty, however I think this is
only done when a new block is found and added to database where the
merged-mining info is available... after it stores it and pulls it back
up its assumed that its a good block (good assumption).

It was crashing before and now its fixed.