Refactor tests [https://github.com/izaera/cipher/issues/1]

Refactor tests to create generic tests based on BlockCipher, StreamCipher, Digest, etc. interfaces.