Manifest: implemented support for other keys than RSA

Previously, `manifest` could verify signatures and sign JARs only with RSA keys. This pull request implements support for other key types (DSA and ECDSA). Corresponding tests added.

Determining the private key type is ugly.