Add implementation of the Fortuna CSPRNG

Closes #103.
`AesSafe256Encryptor` seems like a reasonable choice to me. I designed it to be timing attack resistent, but, I haven't had a chance to look through the assembly to make sure that LLVM isn't inserting an optimization that breaks that design, though. I'd expect that the AesNi versions are probably at least as secure and about 100x faster, although only available on certain processors. I'm not suggesting you change anything, though - just a note.