Delegate docUrl generation to ProjectModel.

This will allow us to have custom project models for platform code which route
to standard websites for documentation.
Have ProjectModel enumerate source rather than Extractor.

Some project-types specifically enumerate each source file rather than saying
"everything in this directory".

This also opens the door to honoring source directory filters extracted from
the POM, etc.
Have needsReindex operate on all source files.

This is more expensive, but we'll throttle it elsewhere and potentially
eventually replace it with something smarter. In the meanwhile, this keeps us
very up to date.
Beginnings of .csproj file support (C#).