(PE-4372) Added utilities for alt dns names

* Able to add extensions to a CSR
* Added utilities to create an Alt. DNS names extensions

This PR is for review only so people can start taking a look at it while I write some tests.
And it's private. If you want a static hash in Java you have to do some kind of static initialization somewhere. So it's either this, or create a static initializer method somewhere. I'm not sure if that's less evil.