Initial Ed25519 specs
Fix broken spec
Initial Ed25519 spike

This requires the new crypto_sign_publickey API in libsodium.

An initial spike of SigningKey/VerifyKey. Docs forthcoming.
Use Crypto::Random.random_bytes to generate Ed25519 keys
Upgrade to libsodium 0.2
Use crypto_sign_seed_keypair API to generate Ed25519 keys

This used the API found in libsodium 0.2
Fix spec that might be causing ruby-head failures

The goal of this spec was to produce a signature that looks similar but
is slightly off. This does the same thing by incrementing the value of
the first byte by one.
Crypto::VerifyKey#verify!

This provides an alternative API that raises an exception when a
signature fails to match, and signatures failing to match is certainly
an exceptional condition!
BadSignatureError < CryptoError

Since we have a "standard" CryptoError, use it
Move toplevel requires below module definition

This allows other code in the library to subclass Crypto::CryptoError