Add plural form extraction support

Change the content of messages[string] value of each extractor to a more complex form registering singular & plural form when present. message still default on "".

Update the .pot construction to write

msgid: definition.singular
msgstr: definition.message (remember, "" by default)

or

msgid: definition.singular
msgid_plural: definition.plural
msgstr[0]: definition.message (remember, "" by default)

some work needed to factorize the logic and keep it DRY in extractors.