DEFUN* Redesign - Update "Middle Integration" functions, DEFUN* macro function
DEFUN* Redesign - Update "Middle Integration" functions, DEFUN* macro function

- Define type EVAL-CONTEXT-NAME - applied in the definition of the
  MACROEXPANSION-CONDITION condition class, and in utility forms

- Define EVAL-CONTEXT-ADD-SUFFIX - utility function for forms that may
  dispatch to generally signal a MACROEXPANSION-CONDITION

- Update lambda-list syntax for PARSE-LAMBDA-CALL-PARAMS - rename
  function parameters

- Rename UNPARSE-NAMED-FTYPE --> UNPARSE-FTYPE-FUNCTION-DECLARATION-1

- Update UNPARSE-FTYPE-FUNCTION-DECLARATION-1

    - Do not use a function name, in parameters

    - Do not produce the complete FTYPE declaration here

- Revise the definition source forms from the lexically scoped
  PARSE-META in DEFUN*, defining two new top-level unparser functions,
  UNPARSE-FTYPE-NAMED-DECLARATION and the more generalized function,
  UNPARSE-FTYPE-FUNCTION-DECLARATION.

    - The latter will produce a generalized FUNCTION declaration - in a
      syntax suitable for FTYPE declarations - using the updated
      UNPARSE-FTYPE-FUNCTION-DECLARATION-1 and the existing
      parser/unparser infrastructure.

    - The function UNPARSE-FTYPE-NAMED-DECLARATION now calls
      UNPARSE-FTYPE-FUNCTION-DECLARATION, subsequently wrapping the
      return value in a complete FTYPE declaration.

    - These functions both support the eval-context semantics for
      MACROEXPANSION-CONDITION warnings

    - Both of these functions accept an ENVIRONMENT parameter, such that
      will be passed to FIND-CLASS as via PARSE-DECLARED-TYPES

- Update annotations for LAMBDA*

Further remarks:

For some intents and purposes, in the context of this sprint, this
changeset may comprise the final principal update to DEFUN*, itself.

MetaCommunity/mci-cltl-utils