This patch aims to:
1. Validate that generated cryptographic strings (salts and passphrases)
contain at least one uppercase letter, lowercase letter, number and
symbol before returning it to the user.
2. Add new unit tests for the cryptostring methods.
3. Move existing unit tests for cryptostring methods to new test file.
4. Rename test_generate_cryptostring to test_passphrases as this is
more accurate of the tests contained in the file.
Change-Id: I669831fb515209467b236cca63502f64a9263d86