Completed authentication module

Completed authentication module, allowing support for multiple
authentication tables and a portable reusable login form