Support using commands not named gpg for signing

Fixes #29 

Example usage:

```
$ twine -s --sign-with gpg2 dist/foo-1.0.1.tar.gz
```

- [x] Need to write tests