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