Fix RelationshipResolver to examine provides as well.

At its guts, this is just a call to `LatestAvailableWithProvides()`,
but this commit also includes:

- Documentation updates
- `LatestAvailableWithProvides()` will list providers even if a real
  module has that name.
- A fancy `TooManyModsProvideKraken()`, which is the prettiest kraken
  you'll ever see in a stack trace. ;)

I've also adjusted `Main.GetInstallDependencies` to catch the
`TooManyModsProvideKraken` This doesn't ask which provider they wish to
use, but I'm delighted to see the GUI's "apply changes" box is greyed
out until they have a workable install set.  (So one can choose RSS, and
then tick RSSTextures2048 afterwards, and get a green install button!)

In other words we have behaviour that's at least as good as what we had
before. :)

Closes #175.
Merge pull request #184 from pjf/175_relationship_resolver

Fix RelationshipResolver to examine provides as well.