Do some refactoring
Add ability to generate self-signed non-ca certificates
Do some puppet-lint cleanups