Implement Merkle-Damgard construction for challenge52

Also implement a bad hash function.
Implement first part of challenge52
Implement second part of challenge52
Implement n-block collision finding for challenge53
Implement expandable message generation for challenge53
Implement challenge53