Pass all arguments for signing and validating through kw

This allows not to use ssldir and certname for the GPG backend, which
didn't make much sense.
New GPG backend

Since the GPG bindings in Python are all kinds of crazy and/or didn't
allow me to simply do what I needed, I've directly hacked up bindings to
the CLI for signing and validating, along with some tests.
Merge pull request #180 from laarmen/feature/gpg-backend

Feature: GPG crypto backend