ReadCN reads a PEM-encoded X.509 certificate at path and returns its Subject
Common Name. Returns an error if the file cannot be read, contains no PEM
block, or cannot be parsed as a certificate.
SplitCN bisects a puppet certname on the first '.' and returns
(clustername, customerid). Returns an error when no '.' is present or either
component is empty.