Link to bundle root in SF2 Bundle recogniser

(Used to link to the bundle declaration - less useful)
Rewrite detail provider interface

* Replaced getNames with canHandle, meaning DetailProviders decide whether or not they support a detail. This allows for wildcard/pattern matching etc.
* DetailProviders must declare a run priority. This allows more specific providers to run first, and wildcard providers to act as fallback.
* DetailProviders can now name a detail without having to link it
Add some detail names
Generic detail provider for Composer packages