Allow runtime interrogation of the primitive

Should be a little nicer to work with in a multi-primitive setup
Provide method for querying # of nonce bytes

This allows the RandomNonceBox to funciton in an indeterminate primivite
world.
Note that we're returning a Ciphertext
Ooops, fix RandomNonceBox
Support specification of Box primitive

This obviously defaults to Curve25519XSalsa20Poly1305, which is also the
only primitive currently implemented.

Still need to add the necessary support for changing out the Key, too.