Expand the status-based view lookup logic
Render a form with 422 when validation fails
Simplify controller code with FormProvider

It's `FormProvider`'s responsibility to initialize form objects and
models associated with those forms. This now drops the number of classes
the controller directly initializes to 0.
Extract validate/save logic into Form subclass

The design of `RoomsController` now implements a listener pattern to get
a notification from a `Form` when the validation fails. In a case of an
error the controller will simply throw 422 status and abort further
action execution.

Finally, a fully confident controller code.
Fix a typo-bug
Use the new `Mapper#collections` method