Include the ability to sign data using ed25519

* nacl.signing.SigningKey represents a single signing key and
  gets intitalized with a seed value.
* nacl.signing.SigningKey.generate() creates a random seed
  and instiates a SigningKey with it.
* nacl.signing.SigningKey().sign() returns a bytes subclass that
  contains the signature and message concated together. However
  it also contains a .signature and .messge property to get the
  components seperately.
Add VerifyKey which can be used to verify a signed message

* Accepts the binary representation of a public key
* nacl.signing.VerifyKey().verify accepts either a single signed
  message with the signature and message conatted or seperate
  message and signature and will raise an exception if it detects
  tampering, forgery, or corruption.
Document nacl.signing and Digital Signatures
Pin libsodium to a tarball from the master branch on GitHub
Properly handle bytes <-> str for Python 3
Merge pull request #4 from dstufft/digital-signatures

Digital signatures