Fixes #6: Create Login action on all model layers, create test form for it, and write unit + functional test for making it work