Issue with Singular Translations in Uncommon Plural-Forms Rules

This PR contains two changes:

* The documentation, as well as many of the tests, are inconsistent in specifying the plural forms option as ``plural_forms`` or ``plural-forms``. I've altered the retrieval of the rules so that it looks for both cases (whereas before it was only actually looking for ``plural_forms``).

* ``gettext()`` was failing for locales where the pluralization rules don't return ``0`` when given an ``n`` of ``1``. For example, the plural forms rule for Arabic is ``nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5);``, which, when given an ``n`` of ``1``, returns ``1``. Since the ``dcnpgettext()`` function was assuming an ``n`` of ``1`` when dealing with translations of singular keys, the logic would end up looking past the end of the array specified for that key.