Enhanced renaming rules

This pull request adds features that extend the renaming capabilities. It is now possible, like in Zotero, to have optional wildcards:

    { %j -}

Additionally, you can specify groups of wildcards that are tested in order:

    {%s%j}

The same syntax works using square brackets `[` and `]`. At the moment characters in a group before a matching attribute are ignored and only ones afterwards are included in the filename, for example,

    [ %s foo %j -]

would end up as `PNAS foo  -` or as `Proceedings of the National Academy of Sciences -`