Refactor the C API

Refactors the C API so that it lives on a separate layer from the object oriented interface. This will allow PyNaCl to present both a higher level object oriented interface, and a lower level interface with the same code.