introduce local authentication

This allows users to authenticate with PantryPickup.

- [x] log in/out through /login and /logout
- [x] signup through /signup
- [ ] integrate into the UI