Initial libsodium build automation

RbNaCl is (at least temporarily) goint to be targeting libsodium as the
goal is to produce a Ruby FFI binding, which requires a shared library,
and the official distribution of NaCl does not presently build shared
libraries.

In addition, libsodium is all portable C code and can build on Windows
under MinGW. By using it, RbNaCl should be able to support all
combinations of Ruby interpreters (e.g. MRI, JRuby, rbx) on all
operating systems, including Windows.
Remove package install for libnacl
Add KeyPair handling

Define a KeyPair class which handles generation of secret and public
keys for the NaCL system, and can also do some basic sanity checks of
keys. i.e. are they possibly valid?
Added Crypto::Boxer

The Crypto::Boxer class encrypts and decrypts to the shared key defined
by a private, secret key pairing.  Exceptions are raised on invalid
inputs and if the message authenticator fails to validate before
decryption.
Add copyright
Good bye KeyPair, hello SecretKey and PublicKey

Instead of one class to manage both keys, split the responsibility over
two.  Crypto::SecretKey is responsible for generating a keypair, and
might eventually also derive the public key rather than requiring it be
passed in.  The PublicKey class just accepts a string.  Both will reject
invalid strings and have a few helper functions.
Add in conditional addition of randombytes

If we need it, add a function definition for the randombytes function.
This should fix building on travis.
Typo fix
Now using libsodium

Hooray, we now have a proper portable distribution of NaCl to use, so
this changes over the C extension to use that.  The next step is to
ffi-ize the library, so that it works on jruby or anywhere.
Now using ffi

But still with the extcode there for the moment.  Also, only the hash
calculation is ffi'd at the moment, but that passes.