Crypto timing stuff

The ecDH computation in djbec.js branches based on the value of each bit of the private key "if (m.testBit(0))". Then since there's timing differences within the branches you can use that to guess each bit of the private key if you can get the timing info. You can get accurate remote timing info since this is used by the p2p code so an attacker can send a ton of beacons or something and average the response time.