Add LDAP authentication support

A new class LdapStorage acts as a proxy for an actual storage, intercepting
authentication requests to serve them via LDAP.