add new SecureRandom class that does the right thing

Generating random numbers properly depends on the platform. The new
getRandomBuffer method does the right thing on the right platform. It will
sometimes fail due to insufficient entropy. The getPseudoRandomBuffer class is
also provided that will never fail, but it is not cryptographically secure and
should not be used for keys.
fix issues with ConnectionTor example and Connection class
remove unnecessary "change" console.log from Electrum test
use SecureRandom in Key in the browser

...to make sure random numbers are generated securely
Key should make sure new privkey is less than N

...this involves adding a Curve class, and significant refactoring to make this
possible in a clean way.
Merge branch 'feature/secure-random'

Conflicts:
	lib/browser/Key.js