glossary.h: generate a glossary list from the Makefile

Generate a header file which lists all terms defined in the glossary
in a way suitable for localisation. This will be used by the new
glossary command.
glossary: introduce glossary lookup command

When using a localised git, there are many reasons why a correspondence
between English and localised git terms is needed:
- connect localised messages with English ones (porcelain vs. plumbing)
- connect localised messages with English man pages or online docs
- help out someone in a different locale

Introduce a `git glossary' command that leverages the existing infrastructure
in three possible ways:
- `git glossary' lists all glossary terms along with their translation
- `git glossary foo' matches `foo' in the glossary (both English and
  localisation; partial matches shown)
- `git glossary -a foo' matches `foo' in the git message catalogue
  (English, exact match only).
glossary: man page
l10n: git-glossary

git.pot update for the new glossary command.
l10n: de: git-glossary

Almost complete update for git-glossary.