replace openssl_random_pseudo_bytes with MCRYPT_DEV_URANDOM

we shouldn't be using the openssl lib for random bytes but instead use `/dev/urandom/` which mcrypt will do for us (and it also works on windows using it's windows equivelant). 

see:
http://timoh6.github.io/2013/11/05/Secure-random-numbers-for-PHP-developers.html

and more:
https://news.ycombinator.com/item?id=6216101
http://security.stackexchange.com/questions/3936/is-a-rand-from-dev-urandom-secure-for-a-login-key/3939#3939

and @drak asked petertodd about what bitcoind uses and what should be used and he also said that `/dev/urandom` is the right thing to use.