Add key generation and cache

  chef_keygen_cache provides an in-vm cache of key pairs to avoid
    in-request latency of on-demand key generation. The cache falls back
    to in-line generation if the cache is exhausted, but does the
    generation in the calling process so that in-line generation is not
    serialized through the server.

    RSA key pair generation is achieved by shelling out to openssl and
    requires that openssl be present on the PATH.