Pluggable authentication

This includes the initial concept of pluggable authentication along with the
initial concept for a plugin management system.