Allow to specify any filesystem for registry configuration

It would be nice if we could allow to overwrite the storage of registry configuration allowing a people to use any backing storage: https://github.com/docker/distribution/blob/master/docs/configuration.md#storage

I would see it like this:

registry['storage'] = {
  azure: {
    accountname: "accountname",
    accountkey: "base64encodedaccountkey",
    container: "containername",
  }
}

By default it would be filled with:

registry['storage'] = {
  filesystem: {
    rootdirectory: "../shared/registry",
  }
}

@marin What do you think?