Split Storage and Auth config types

The last attempt to use the storage configuration type to implement multiple
auth configs broke the external interface of the storage type. This splits them
into two types fixing the unit tests. Support for environment variables for
auth configuration was added, as well.