Remove the encoding system

After much discussion it was agreed that the encoding system was out of place in
this library.

This commit removes it, and hopefully improves the general quality of the
codebase as well. All encoding-related thunks and glue code have been removed,
the way TestVectors work have been standardized, and any stray test vectors
still lingering inside of the tests have been moved to test_vectors.rb

Fixes #54
Raise TypeError when given nil keys

This replaces previous NoMethodError #to_s exceptions with a TypeError informing
users that the given class can't be coerced to a String with #to_str
Add back Util.hex2bin and .bin2hex
Fix hex conversion in Serializable
Merge pull request #65 from cryptosphere/nuke-encoding-system

Remove the encoding system

This makes things one hell of a lot simpler to work with.  We do keep bin2hex/hex2bin though.  We're not monsters.