Add reStructuredText directive post_list for issue #815

```
    Post List
    =========
    :Directive Arguments: None.
    :Directive Options: lang, first, last, reverse, tags, template, id
    :Directive Content: None.

    Provides a reStructuredText directive to create a list of posts.
    The posts appearing in the list can be filtered by options.

    The following not required options are recognized:

    ``first`` : integer
        The index of the first post to show.
        Defaults to None.

    ``last`` : integer
        The index of the last post to show.
        A value of ``-1`` will show every post, but not the last in the
        post-list.
        Defaults to None.

    ``reverse`` : flag
        Reverse the order of the post-list.
        Defaults is to not reverse the order of posts.

    ``tags`` : string [, string...]
        Filter posts to show only posts having at least one of the ``tags``.
        Defaults to None.

    ``lang`` : string
        The language of post *titles* and *links*.
        Defaults to default language.

    ``template`` : string
        The name of an alternative template to render the post-list.
        Defaults to ``post_list_directive.tmpl``

    ``id`` : string
        A manual id for the post list.
        Defaults to a random name composed by 'post_list_' + uuid.uuid4().hex.
```