Feature: GPG crypto backend

This adds a new GPG crypto backend (as well as some quick bindings since the existings ones are, for lack of a better word, crappy) and changes the crypto interface to be a bit more generalistic.