The ISAAC cipher

Added ISAAC Cipher implementation
`String::from_utf8(...)` will return `None` if the encrypted bytes are not in UTF8 format. This could cause problems because the cipher just produces bytes and doesn't guarantee UTF8-ness of the output.

A possible solution for this would be to use `unsafe { string::raw::from_utf8(encr) }` here, which doesn't check for UTF8-ness.

A better one (in my opinion) is to change the `vernam` function to accept a slice of bytes `&[u8]` instead of a `&str`. This way we avoid using `unsafe`. This would require using `MSG.as_bytes()` in line 12.