Preserve z/OS encoding tags during file operations

Since basically everything uses a character set that's incompatible
with EBCDIC (IBM-1047), we have to rely on the automatic conversion
of tracked files for any reasonable chance of maintaining them.  In
z/OS UNIX, files can be tagged with the encoding of their contents
so tools are able to work with various encodings transparently.
This change ensures the tags are not lost when Git recreates files.
Add template files to help z/OS usage

First, this adds a default empty .git/config file for every project
so that its encoding can be tagged on install.

Also, two example hooks are added.  These are just to show how to
keep the tracked files properly tagged so they are usable between
EBCDIC and ASCII programs.  One hook is faster and safer by simply
tagging everything as ASCII, and the other converts all files to
IBM-1047 on disk for programs that don't support auto-conversion.
Support unconventional file type values by replacing stat functions

In order to ensure that file modes have the same type bits on every
operating system, this adds wrappers for the stat(), fstat(), and
lstat() functions that translate native modes to typical values.
Support installing the plain text documentation

Since the z/OS man program only supports plain text files, we would
have to convert Git's text documentation to man pages, then render
the man pages with a roff program back to text.  This change takes
the lazy route and just installs the text documentation directly.
Include default build settings for the z/OS port
Add build notes for the z/OS port