Preparations for supporting alternate primitives
Changed external function names to fully qualified function names
Alternate primitives for 'crypto::hash' and 'crypto::auth'
added alternate primitives for crypto_sign
added alternate primitives for crypto::stream
more documentation for crypto::hash and crypto::auth
More documentation for crypto::sign
added test vectors for ed25519
lowered the test count for edwards25519sha512batch
Updated randomized tests

The randomized tests now test different message lengths (previously they were
hardcoded to 1024 bytes).
The sign_verify_tamper, open_verify_tamper and auth_verify_tamper tests
now run fewer testcases so that the testsuite doesn't take too long to run.
added simple test vectors for sha256
added NIST ShortMsg and LongMsg testvectors for SHA-256 and SHA512