Improvements + unittests for forms and views

* Avoid using `else` when an exception is throwing
* Add `Makefile` with coverage test task
* Add unittests for forms.py
* Add unittests for views.py