fix *ON-LEFT-RECURSION* in example-left-recursion.lisp

When implementing Nikodemus' suggestion, the variable
ESRAP:*ERROR-ON-LEFT-RECURSION* had to be renamed to
ESRAP:*ON-LEFT-RECURSION*. The instances in
example-left-recursion.lisp have been forgotten.

* Rename ESRAP:*ERROR-ON-LEFT-RECURSION* -> ESRAP:*ON-LEFT-RECURSION*

* Rename TEST-{LAMBDA -> RA}
fix typo in COMPILE-NONTERMINAL

The produced named lambda should be called COMPILED-NONTERMINAL
instead of COMPILE-NONTERMINAL
added syntax (function FUNCTION-NAME) for function terminals

* FUNCTION-NAME is called to consume some input and return a
  production

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

* New example in example-function-terminals.lisp

* Added unit tests FUNCTION-TERMINALS.{PARSE-INTEGER, PARSE-A} and
  EXAMPLE-FUNCTION-TERMINALS.{INDENTED-BLOCK,READ}

* Extended README and doc/esrap.texinfo

Based on Nikodemus' and Kilian's ideas and feedback.
update homepage, author, maintainer information

* Change "Homepage & Documentation" link in README, esrap.lisp:
  http://{nikodemus -> scymtym}.github.com/esrap/

* Add :author "Nikodemus Siivola <nikodemus@random-state.net>"
      :maintainer "Jan Moringen <jmoringe@techfak.uni-bielefeld.de>"
  in esrap.asd

* Change repository and project page links in doc/esrap.texinfo
  github.com/{nikodemus -> scymtym}
do not generate incorrect IGNORE declaration in DEFRULE

We tried to potentially ignore START and END parameters even in case
the transform did not receive such parameters.

* Fixed this in DEFRULE.

* Added test case DEFRULE.IGNORE-DECLARATIONS.
fix return of PROCESS-PARSE-RESULT for parse failure, :start ≠ 0, :junk-allowed t

When a parse failure occurred for :junk-allowed t,
PROCESS-PARSE-RESULT always returned 0 as position up to which the
input had been consumed. In case PARSE had been called with :start ≠
0, this was incorrect.

* Added start parameter to PROCESS-PARSE-RESULT which is returned in
  case of parse failures and :junk-allowed t.

* Added a case in test SMOKE in tests.lisp to test this behavior.
make successful parses without consumed input detectable

The problem was that for cases like

  (parse '(! #\a) "a" :junk-allowed t)
  (parse '(! #\a) "b" :junk-allowed t)

the first two return values could not indicate success or
failure. Similarly, function terminals could not succeed without
consuming input.

* When successful, PARSE returns T as a third return value (via
  PROCESS-PARSE-RESULT). Extended documentation string discusses
  return values.

* The function terminal protocol has changed in the same way (via
  EXEC-TERMINAL-FUNCTION).

* The manual section about function terminals has been updated
  accordingly.

* New tests ensure that PARSE and particular function terminals can
  succeed without consuming input.
simplified HINT-SLIME-INDENTATION