Strip the message itself from the signature

The crypto_sign function encodes the original message in its signature
parameter, and the crypto_sign_verify take this entire message. Rather
than encode these two pieces together, we make the API more like the
Crypto::Auth API.
Implement custom Sodium::Buffer#byteslice for Ruby 1.8

Ruby 1.8 doesn't have support for String#byteslice. Since it's being
used in a few places now, it's been added to Sodium::Buffer. The current
implementation defaults to using String#byteslice if available,
otherwise it attempts to reproduce equivalent behavior. God knows if
I've gotten the details right.
Merge pull request #13 from stouset/sign-operation-consistency

Strip the message itself from the signature