Abstract over dependency kind in Analysis

Work in progress to make it easier to add new kinds of dependency.

Please see this discussion : https://groups.google.com/forum/#!topic/sbt-dev/clIbzCp9VX8
@gkossakowski I'm not sure I understand. Isn't it what it does ? I think I changed the body of this method since September 15th but not its signature, thus your comment is not on an "outdated diff".