Test helper reorganization + preserveProperty helper

preserveProperty is useful when I want and object’s property to have a
specific value during a test, and then return to its original value after
it.

It’s like stub, but it doesn’t set the value, only memorized it and
restores it after the test has finished.

I think this may be a smell, but I’m not sure yet, so I’ll let it be
for now.
core/main: initialize userAuthenticationUseCase

+ a few more assertions for clearer test failure messages
make test: clear
Authentication form: show validation errors when appropriate
Registration form test housekeeping

Without preservation, this property change is changed globally and is seen by
all other testst, which is probably not what I want most of the time.