Added DSA digital signature algorithm classes and functionality and tests

Added DSA digital signature algorithm classes and functionality and tests
Just FYI, I may need to change this part later on, in order to ensure that the identifier/hash will be the same for both private/public key versions. Will need to think about how to do it first though.