Session: Do not write session on every request

This speed up the gui by at least 20%.

Refs #7718
Session: Update empty data results in error

SQLSTATE[HY093]: Invalid parameter number: number of
bound variables does not match number of tokens.

Refs #7718
Session: Fix write to database if date not initialized

Refs #7718
Merge branch 'fix/session-write-7718' into next

Fixes #7718
WelcomeCronk: Fix default cronk setting

Default cronk is defined in userpreferences.xml:

<ae:parameter name="org.icinga.cronk.default">portalHello</ae:parameter>

If you use an other cronk which uses parameters the old method did not
respect params sections. The new way (which is implemented in
CronkListingPanel.js) loads all cranks from remote (also hidden cronks)
and create a valid record (xml and database cronk)

Refs #7719
WelcomeCronk: Fix name and icon

Refs #7719
Merge branch 'fix/welcome-cronk-7719' into next

Fixes #7719
Api: Add missing downtime definition for default columns

Refs #7720
Merge branch 'fix/api-downtime-7720' into next

Fixes #7720
Support {urlScheme} and {urlHost} iframe cronks

This allows one to use the icinga-web host in URLs.

Refs #7721
Merge branch 'feature/iframe-host-7721' into next

Fixes #7721