Handling multiple authentication types

Updates to close out #44. 

* Moving authenticators into CDI providers
* Updating login form tags to handle LDAP login better
* Adding moderator group function to LDAP auth
Does it really have to be application scoped? I think this will not be a problem but we will have to worry about concurrent access to `DBAuthenticator` and `LDAPAuthenticator` in the future (and any other Authenticator implementation).

Besides that, this is kind of confusing because in `DbAuthenticator` we inject an instance of `Access` which is request scoped (it only works because CDI does some crazy proxy magic to change the object inside the object with greater scope).