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