Add grammatical number support for many strings

So that grammatically awkward strings like “Upgrading bartering costs 1 points.” should be a thing of the past.

Note to developers: This has been done by calling
`ngettext(singular_string_in_english, plural_string_in_english, number_to_determine_which_string_to_use)`
instead of
`_(some_string)`
for the relevant strings. This touches a surprisingly large number of files.

This addresses all strings mentioned in GitHub issue #4649 (and some more) except item names.
Grammatical number support for item names are a lot more complex and may be adressed in a later commit or pull request.

#4649 is NOT fully fixed by this.