Update csrf token function, provide support for those without openssl

I've made some minor improvements on the csrf token function of the user class. i also attempted to provide support for those without openssl on their box. I attempted to make a Roll-your-own PSRNG. it is my belief that this solution is sufficiently random enough for something as trivial as csrf tokens. This being said, i decided to up the hash function to whirlpool as a counterbalance to the potentially weaker PSRNG. I encourage some review of this prior to merging the commit.


r3wt