Introduce GPG operations

Add methods for cryptographic authentication of Cask packages with
the GPG software suite.

Homebrew Cask invokes the system-standard `gpg` binary to import
keys to the GPG keychain, download signatures to versioned metadata
folders, and verify packages. Homebrew Cask aborts if any step fails.

GPG verification is not currently invoked during the audit or
installation processes, and is intentionally left undocumented.

Example usage:
    gpg = Cask::GpgCheck.new(cask)
    gpg.verify(package_archive_path) if gpg.available
Merge pull request #6184 from ndr-qef/gpg

Introduce GPG operations