Temporary paths are now defined automatically

The biggest change in this pull request are some new functions to fetch and define temporary paths. There are three paths at the moment:
- Path for temporary stuff (like downloading a picture to examine it)
- item cache (used for the rendered bbcode)
- Path for lock files (so that the poller can only run once at a time)

These values had to be set manually in the past. Now the systems checks if the values are set - and if they aren't set (or the path is invalid) then the systems tries to set this value on its own. The experience is showing that many don't know about these values - but would profit from them.

Since the item cache could produce several files, it can be deactivated with a negative value for the item cache duration.

The smaller things in this pull request:
- The api now supports the privacy image cache for some pictures
- There is setting (only in .htconfig.php by now) to define a custom page icon
- The libertree export now handles horizontal rulers in the right way
- Vier: The preview picture in the admin settings is now smaller and fits on a single page
- dbstructure: The indexes for config, pconfig and hook are now smaller so that there shouldn't be any problems with MyISAM anymore.