Merge pull request #12 from freiric/configuration/settings-files2

Configuration/settings files2
Correct and simplify the logic introduced before to handle approot:
The port used to run the wiki can be different to the port used in the approot

Now the approot is read  directly from the settings file, and defaults to http://locahost:port
Table of contents (toc) extends to Subpage, where a subpage is a wikilink of
the from `[mySubpage]()` alone in a paragraph.
- table of contents, categories and content are cached separately.
- the table of contents is cached as a hierarchicalized pandoc (`Element`)
further stripped down to only contain only section and link (`GititToc`)
- the table of content is then converted to HTML by converting the
sections to HTML list and recursively within the links

A patch is needed on pandoc because
- some unexported functions from pandoc are needed to construct the toc:
`defaultWriterState`, `WriterState`, `inlineListToHtml`, `unordList`
- the type of this functions needed to be generalized to use `StateT`
instead of `State`
Added maximum depth for table of contents.
As a side effect, this prevents infinite loop in the computation of the
table of contents when subpages form a cycle.
Added an option in settings file to disable extended toc
add ident and class to subpage link
Display toc of subpage in the content, use the same style as the page toc.