doc module: Move `DocException' beneath `Exception' namespace

There are more exceptions to come which also will be beneath the `Exception' namespace.

refs #4820
doc module: Add `ChapterNotFoundException'

refs #4820
doc module: Add `DocEmptyException'

refs #4820
doc module: Add `DocIterator::count()'

Method used to count available markdown documentation files.

refs #4820
doc module: Let `DocParser' throw `DocEmptyException' and `ChapterNotFound' exception

`DocEmptyException' is thrown during construction when a documentation directory is empty.
`ChapterNotFound' is thrown when a chapter was not found when calling `getChapter()'.

refs #4820
doc module: Respond with 404 if a chapter was not found or the doc directory is empty

refs #4820