Public key

The tests are adapted from the libsodium tests.
The docs are adapted from the rbnacl docs.

I would love to get another set of eyes on this code. Mostly I adapted the rbnacl code to Python.