Extend dependency resolver

I've redid the ResolveGitMajorVersion resolver to be a more generic ResolveVersion. This allows dependencies to be pound to specific versions.

What do you think @petya2164 and @mortenvp?