Do not use height and width in bar charts, to avoid layout errors
Do not use htmlspecialchars in widgets

refs #6759
Do not use htmlspecialchars in view scripts

fixes #6759
Revert "Do not use htmlspecialchars in widgets"

This reverts commit 2ff43abcf5860f4002d4fbb2aee930b22ab93ea6.

`Widget::escape()' does not exist. But `Widget::view()::espcae()' does.
Revert "Do not use htmlspecialchars in view scripts"

This reverts commit 607aa9b203377126b399667cd0b10c80d75e04b7.

`Perfdata::escape()' does not exist. But `Perfdata::view::escape()' does.
Do not use htmlspecialchars in view scripts

fixes #6759
Contactgroups view: correct links to contacts detail pages

fixes #6514
doc/MarkdownFileIterator: Nail down PHPDoc

refs #4820
doc/DocException: Extend `RuntimeException' instead of `Exception'

Errors in the documentation module can only be found on runtime.

refs #4820
doc/DocEmptyException: Remove unnecessary line breaks

refs #4820
doc/ChapterNotFoundException: Remove unnecessary line breaks

refs #4820
doc/lib: Add `NonEmptyFileIterator' for iterating over non-empty files

refs #4820
doc/DocIterator: Use `NonEmptyFileIterator'

Considering empty files makes no sense.

refs #4820
doc/lib: Add `Section'

In the future a documentation will be represented as tree of sections.

refs #4820
lib: Add `Identifiable' interface for objects that are identifiable by an ID of any type
doc/lib: Add `DocTree' for representing a documentation as tree of sections

refs #4820
lib/Node: Remove method `findNodeBy()'

The new `DocTree' class provides `getNode()'.
doc/DocParser: Replace `getDoc()' and `getToc()' with `getDocTree()'

refs #4820
doc/lib: Add `Renderer' as base class for toc and section renderer

refs #4820
doc/lib: Add `TocRenderer' for rendering instances of `DocTree' as toc

refs #4820