Curve25519 is not using any hsc2hs features
Use safer functions for Curve25519

Similar to the refactor for Ed25519.  The same one unsafe operation to
save a copy.  The same use of CString even though the C side is actually
uint8* in this case.  The same addition of size checks on the Haskell
side.
Merge pull request #5 from singpolyma/refactor-curve25519

Refactor curve25519