adding custom exceptions
certificate factory refactor

changed factory paradigm of one factory per certificate type to one certificate factory; exposed new declarative service; including default xslt file; added certificate options object for performing common transformations on certificates
certificate element refactor

certificate element subclasses were going to cause problems with the xslt, so I took them out