support left recursive rules with potential performance hit

As described in

  Alessandro Warth, James R. Douglass, Todd Millstein, 2008,
  "Packrat Parsers Can Support Left Recursion".
  http://www.vpri.org/pdf/tr2007002_packrat.pdf

* WITH-CACHED-RESULT detects left recursion and (unless signaling an
  error has been requested) handles the situation by growing a "seed
  parse" via repeated application of the rules involved in the left
  recursion.

* The new special variable *ERROR-ON-LEFT-RECURSION* switches between
  this new behavior and the old behavior of signaling a LEFT-RECURSION
  error.

* The system version has been bumped from 0.9 to 0.10 and a feature
  :ESRAP.CAN-HANDLE-LEFT-RECURSION is pushed onto *FEATURES* when the
  system is loaded.

* Basic unit tests for direct and indirect left recursion have been
  added: LEFT-RECURSION.[IN]DIRECT.{SUCCESS, CONDITION}.

* The manual and README have been extended.

* The new file example-left-recursion.lisp contains multiple grammars
  which exercise and illustrate the new capability.
implement and document rules for repeated/combined DEFRULE options

* The :when DEFRULE options cannot be repeated (This had already been
  implemented, but the documentation string did not explicitly state
  the fact)

* All DEFRULE options which specify transformations can now be
  repeated and/or combined. The resulting transformation is the
  composition of the supplied transformations in the specified
  order. Only the first transformation can receive bounds via &BOUNDS.

* The system version has been bumped from 0.10 to 0.11 and a feature
  :ESRAP.MULTIPLE-TRANSFORMS is pushed onto *FEATURES* when the system
  is loaded.

* Unit tests have been added: MULTIPLE-TRANSFORMS.{1,2}
update authorship, copyright, email addresses