Add notice.rst

To replace the texinfo sources previously used to generate NOTICE.

When compiled to HTML, compares well against the original NOTICE;
use notice.rst in mitK5license.rst instead of using a literal
include of the old NOTICE file.

ticket: 7407
Make rules for building NOTICE from RST

Sphinx-build wants to scan over all the sources in the source dir,
and its text output engine does not handle the spanning row cells
used in some of our fancy tables, so it will crash if we attempt
to generate text output from our full suite of documents.
We could work around this by attempting to just compile the one
source file as an additional argument to sphinx-build, but this
seems to insist on producing an index.txt as well as a notice.txt.
Furthermore, we cannot use the same conf.py as in rst_composite because
the paths substitutions are not available with just the minimal
contents of rst_notice.  Make a copy and remove the irrelevant parts,
for now, changing only the master_doc field as appropriate.

For the HTML build, we use the standard |copy| macro from isonum.txt
to get the unicode copyright symbol glyph, but for ASCII output we
prefer to just use the literal "(C)".

ticket: 7407
Remove the last vestiges of the texinfo docs

We needed these last stragglers to build the NOTICE file at the
root of the tree, but we now generate a notice.txt from reST.

Man pages have been generated from reST for some time now, we no
longer need scripts to turn them into HTML and ps, as those can
be generated directly from the reST source.

The Makefile only existed to serve the texinfo builds, so it goes
away, too.  (The tgz target appears to have been broken since 1996.)

ticket: 7408
Remove stale implement document

As with the texinfo implementor's guide, it is sufficiently stale
so as to be untrustworthy without verification.
Content of this nature should live on k5wiki.kerberos.org.

ticket: 7408
Whitespace cleanup

Prior to a mass rename of the RST sources and utilities.
Massive reST content rename

All of rst_source/ is now just in doc/.
The krb_ prefix is stripped from the document sub-directories.
rst_tools are now just tools.

The section headers of kadmind, krb5kdc, and sserver match as conflict markers.
bigredbutton: whitespace

ticket: 7409
Catch up to RST move/rename

Change the make rules for the directory structure.
Update the RST sources which include other RST sources for the
loss of the krb_ prefix.

ticket: 7409
Enforce TGS principals having 2 components

RFC 4120 section 7.3 says that TGS principal names have two
components.  Make krb5_is_tgs_principal() and is_cross_tgs_principal()
enforce this constraint.  Code elsewhere in the KDC already checks for
two components anyway.
Don't use kdc_active_realm in kdc/rtest.c

Too many parts of the KDC rely on the global variable
kdc_active_realm.  rtest.c doesn't actually need any of the
KDC-specific information that's avaiable through kdc_active_realm, so
delete references to it.
Eliminate some KDC globals

Make kdc_active_realm a local variable in every function that needs
it.  Pass it around in various state structures as needed.  Keep the
macros that reference its members remain for now.
Move KDC PRNG reseed logic to a helper function
Move add_to_transited to a separate file

add_to_transited() is fairly large, and also fairly independent of the
other contents of kdc_util.c.  Move it into kdc_transit.c.  Also
simplifies the building of rtest by removing dependencies that
kdc_util.c previously needed to satisfy undefined symbols.
Refactor validate_tgs_request()

Break validate_tgs_request() into smaller functions.  Collect related
checks into helper functions.  As a result, some invalid requests with
multiple problems can produce different error messages.  This is
probably not a problem for most situations.
Move validate_tgs_request() to a separate file
Refactor process_tgs_req() service princ search

The service principal database entry search logic in process_tgs_req()
was excessively complex, containing questionable uses of "goto", along
with deeply nested control flow.  Refactor it into smaller functions.
Clean up domain->realm referrals

Clean up domain->realm referrals by breaking prep_reprocess_tgs_req()
into smaller functions.  Give the resulting functions more descriptive
names.  Also delete an unnecessary and almost exact copy of
krb5_get_host_realm().
Refactor process_tgs_req() 2nd-ticket handling

Refactor some of the second-ticket handling and session key
generation out of process_tgs_req().
Don't unparse principal names in process_tgs_req()
make depend
Handle concat OTP responder case