Error handling middleware for authentication

Use a middleware at top of every request to /dashboard to ensure user is
actually authenticated. Then use a flash message for easier to understand
error message.

Also work on signup page is done although we may not need it. Could be
better to just let the admin add users manually.