change :type param in PrivateKey and CSR

It now takes a string (RSA/DSA/EC) rather than a symbol. this was done
to try to improve consistency of keys (symbols) and values
(strings/objects) within the API. fixes #51 (and that bug also contains
much more of the rationale behind the change)

This is a breaking change so r509-ca-http will need an update.