Added DSA digital signature algorithm classes and functionality and tests

Added DSA digital signature algorithm classes and functionality and tests
Perhaps let the builder accept a keypair as a param, and if one is not specified then generate it?