sidebar/menu: menu should be scrollable

This allows us to scroll menus not fitting into available screen height.
Plays nice with menu hovering, however once you scroll down your menu
you'll temporarily disable the hover-menu-feature.

fixes #6283
layout/menu: don't show uncollapsed loading menu

We have a no-JS-friendly CSS showing the menu uncollapsed unless JS
is fully loaded. Even if the page loads pretty fast this looks still
ugly in JS-enabled browsers.

This patch adds a JS-snippet removing the no-js class from the HTML
element before the rendering engine reaches the body. You'll see no
more flickering in your JS-enabled browser.

fixes #6307
Modules\Module: improve provided metadata

refs #4095
Modules\Module: clean up phpdoc blocks
Modules\Module: provide a lighter header sample

We should get rid of the current way of copying license snippets to
every single file. This is a first example of how a lighter header
could look like. I'd add a short slogan to the title and place a
copy of the license to icinga.org, so our links could point there
instead of gnu.org.

refs #6309
config/module: remove unused show.phtml

I see no reference to this file, byebye.
monitoring/module.info: provide sample metadata

We are currently able to read module metadata, but our modules don't
provide such. Here you go, feel free to extend it's description.
config/modules: prepare new view scripts

The controller is still pointing to the former view script, it will
soon be replaced by this ones. As soon as I created two forms handling
enable/disable requests this will be completed.

refs #4095
notifications: improve client- and serverside

This is just a first step, trying to catch a few gotchas:

* it doesn't send notifications to the browser when issueing a redirect
  as redirects can currently not be catched in jQuery response handlers
* it tries to find a better notification handling place in the response
  handler (JS) - still imperfect
* it explicitely stores sessions once modified by notifications. Still
  need to crosscheck whether this is really needed and how we can get
  rid of this.

refs #6280
monitoring/lists: Don't render unexistant controls

Even PHP code in HTML comments will be executed. As the filter object
sometimes failes, this can result in an invisible "breaking" exception.

refs #6031
js/notifications: fixed target=ignore notification

Ongoing error handling cleanup silently dropped notifications for
requests with "invalid" target (e.g. commands not redirecting after
submission - they should not exist, but they do).

This is redundant code, but that's ok for now - response handling will
be restructured.

fixes #6327
refs #6280
Translation: add a module-aware translation helper

With this fix $this->translate works in our view scripts

refs #6338
Translation: use translation for monitoring/views

Just a bunch of translation-helper calls

refs #6339
Translation: another bunch of translatable strings

refs #6339
Translation: global translation for view helpers

As our pagination helper is used in multiple domains gettext would
fail if we don't explicitely call the correct translation function
carrying the "global" domain.

refs #6338
Translation: initial German translation

refs #6340
Translation: another global view helper

refs #6338
show/history: sorry, typo
Translation: keep translation domain with partial

We should try to avoid partial and pass translation domain where forced
to use it.

refs #6338
monitoring/IdoQuery:

IDO version is cached in a session namespace. This fails where you
are using multiple IDO backends with different versions. We still have
no backend-specific base class where we could handle this, so for now
I continue to do so in the IdoQuery.

This patch creates one namespace per Host/dbname combination.