Fixed salt gen to use CSPRNG

Hashing system time isn't really a secure way to generate salts, imagine if two users happen to register at the same time.

I modified the function to use `CryptGenRandom` on Windows and `/dev/urandom` for Unix-based systems. This should hopefully be a drop in replacement and I tested that it's working fine on my Fedora 20 machine. You might need to test against the various systems you compile against before merging it though.

Do let me know if you notice any problems with the code or if you have any nitpicks. Cheers :)