Added MAKE-SPECIALIZER-FORM-USING-CLASS in src/pcl-patch.lisp

Default method on MAKE-METHOD-SPECIALIZERS-FORM calls the new generic
function MAKE-SPECIALIZER-FORM-USING-CLASS for each specializer.

Using OR method combination has been suggested by Christophe Rhodes.

* src/pcl-patch.lisp (make-specializer-form-using-class): new generic
  function; generate parsing form for a single specializer form
  (make-specializer-form-using-class or standard-generic-function
  standard-method t t): new method; default behavior is error signaling
  (make-specializer-form-using-class or standard-generic-function
  standard-method symbol t): new method; handle class specializers
  (make-specializer-form-using-class or standard-generic-function
  standard-method cons t): new method; handle eql and class-eq
  specializers
  (make-method-specializers-form standard-generic-function
  standard-method t t): new method; call
  `make-specializer-form-using-class' for each specializer
* src/pattern-specializer.lisp
  (make-method-specializers-form pattern-generic-function t t t):
  removed
  (make-specializer-form-using-class or pattern-generic-function
  pattern-method cons t): new method; handle making parsing forms for
  pattern specializer
* src/package.lisp (package pattern-specializer): added import-from
  sb-pcl symbol make-specializer-form-using-class
Less consy matching in src/pattern-specializer.lisp

* src/pattern-specializer.lisp
  (compute-discriminating-function pattern-generic-function): use
  `optima:multiple-value-match' instead of `list' and `optima:match'
Move PATTERN-MORE-SPECIFIC-P into src/optima-extensions.lisp

* src/pattern-specializer.lisp (pattern-more-specific-p): removed; moved
  to src/optima-extensions.lisp
  (pattern-more-specific-p :around pattern pattern): likewise
  (pattern-more-specific-p pattern pattern): likewise
  (pattern-more-specific-p pattern variable-pattern): likewise
  (pattern-more-specific-p variable-pattern variable-pattern): likewise
  (pattern-more-specific-p cons-pattern cons-pattern): likewise
* src/optima-extensions.lisp: new file; contains
  `pattern-more-specific-p'
* language-extension.pattern-specializer.asd
  (system language-extension.pattern-specializer): added file
  src/optima-extensions.lisp
Added method for and-pattern in src/optima-extensions.lisp

* src/optima-extensions.lisp
  (pattern-more-specific-p and-pattern and-pattern): new method; compare
  two `and-pattern's
Added method for or-pattern in src/optima-extensions.lisp

* src/optima-extensions.lisp
  (pattern-more-specific-p or-pattern or-pattern): new method; compare
  two `or-pattern's
Added method for class-pattern in src/optima-extensions.lisp

* src/optima-extensions.lisp
  (pattern-more-specific-p class-pattern class-pattern): new method;
  compare two `class-pattern's
Added preliminary lambda calculus example in examples/lambda-calculus.lisp

* examples/lambda-calculus.lisp: new file; preliminary example for
  parsing and evaluating lambda calculus terms using pattern-specialized
  methods