expand type declaration for improved portability

* Some implementations (such as CLISP) want type declarations of the
  form

    (declare (type TYPE VARS))

  instead of

    (declare (TYPE VARS))

* Change type declaration of CELL in COMPILE-NONTERMINAL accordingly.
ignore SLOTS parameter in SHARED-INITIALIZE RULE

* This silences a warning in CLISP.
define macro EXPRESSION-CASE in situations :COMPILE-TOPLEVEL and :EXECUTE

* Without :EXECUTE (as was previously the case), esrap.lisp could not be
  loaded without prior compilation.