src/{c-types-impl,method-{proto,impl}}.lisp: Improve `merge-keyword-lists'.
* Make the overall description of the merging site be a function (a)
to report a file location and (b) to avoid formatting the thing if
there isn't actually a problem.
* Make the per-argument-list descriptions be functions so that they
can report more than one message each.
* Change `method-keyword-argument-lists' to report the inheritance
path for methods involved in keyword argument conflicts. Add an
argument to thread through an `inheritance-path-reporter-state'
object to make this work.