Initial public key loading work

- [ ] I think the use of PKCS8/PEM might be wrong?
- [ ] Docs
- [ ] Tests (need vectors, where do they come from? Just re-process the private keys?)
- [ ] Still a bit too much code duplication
This is not PKCS#8. PKCS#8 is only for private keys. It's kind of like the OpenSSL "traditional" format, although nothing in the OpenSSL docs ever specifically calls it that.