fix: task never finishing when no src files processed

this prevented all other tasks from being run, if src list was empty
add support for pgettext/context

pgettext stands for particular gettext and is used to provide some
context for ambiguous msgids.
add support for plural forms

extract gt.ngettext calls from js code
add support for plural forms with context

strings get detected by finding calls to gt.npgettext.
work around syntax error if msgid_plural is present

this is a work around an issue in the pofile library. If the
msgid_plural field is set for a message, the msgstr must be in array
notation.
Merge branch 'feature/advanced_gettext' into develop

brings support for:

* gt.pgettext
* gt.ngettext
* gt.npgettext
extract comments from js files to pot file

Developers might add comments related to i18n as comments just before
the call to the gettext function. Those are now being extracted and
added to the generated pot file.

Note: this relies on the ability of the pofile library to write
comments, which is not released, yet.