Dagger-Hashimoto algorithm
https://github.com/ethereum/wiki/wiki/Dagger-Hashimoto