(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.
I could also write a function that could decode only alternative DNS names, but this functionality isn't directly needed by JVM puppet so I decided to skip it.