Add some extension points for component parsing

Merged Eric Timmons requested to merge add-gfs-for-system-parsing into master

Apropos my complaints about package-inferred-system, I decided to make a system class that infers components instead of systems. It's called, creatively enough, asdf-inferred-components.

I imagine it will continue to live outside of ASDF proper (but if there's interest in it, I'm happy to bring it in). However, I found myself wanting a couple more points to intercede in the parsing of systems. This MR adds them. While I held off on exporting them from the ASDF package, I do think they're generally useful and would love to export them (or cleaned versions of them) after using them in practice for a while.

class-for-type is now a generic function that allows a custom parent-component class to control the mapping of component types (:file, :module, etc.) to classes.

I also turned compute-component-children into a GF (no backward compatibility issues there since the defun version of it has yet to be released) and moved a bit of the work it did back into parse-component-form.

Edited by Eric Timmons

Merge request reports