Improve handling of GETTEXT_PACKAGE not being defined

* If GETTEXT_PACKAGE is not defined (ex. by build system/user) then
  define it to NULL. Most GLib gettext-functions allow passing NULL
  to use the domain set with textdomain(). Guard one call with "if"
  since passing NULL is not documented behaviour.
* Remove a bunch of #ifdef GETTEXT_PACKAGE checks since it's now
  defined to NULL instead of not defined. I think this breaks GeanyPy
  but it's a bug in GeanyPy related to use of config.h.
* Improve the ngettext() wrapper macro.