Listings folder

Hi,

here's my code for implementing the new config variable LISTINGS_FOLDERS from Issue #1499.

It currently contains an ugly hack in plugins/compile/rest/listing.py to fix a bug and implement support for sites using the listing directive without specifying the file's path. I'm currently not sure how to implement that better.

Best,
Felix
Let’s simplify this algorithm.

```py
self.input_folders = list(kw['listings_folders'].items())
self.output_folders = list(kw['listings_folders'].keys())
self.input_folders_s = set(kw['listings_folders'].items())
self.output_folders_s = set(kw['listings_folders'].keys())

if (len(self.input_folders) != len(self.input_folders_s))
    utils.LOGGER.error("A listings input folder was specified multiple times, exiting.")
    exit(1)
elif (len(self.output_folders) != len(self.output_folders_s)):
    utils.LOGGER.error("A listings output folder was specified multiple times, exiting.")
    exit(1)
```