Pkg: allow package versions to depend on specific versions of Julia.

This also provides the facility to tell the version resolver that
certain package versions are fixed. This has the affect that it
doesn't try to determine a version for those packages, but will
exclude versions that depend on the fixed packages *excluding* the
fixed version number given. The dependency on Julia is injected as
a fixed dependency on the current julia version. Thus, any package
that specifies a dependency for the julia "package" while doesn't
include the current Julia version, won't be considered for install.
Fixed version are currently only used for this, but pacakges that
are on-branch or dirty should be considered fixed.
Merge branch 'master' of github.com:JuliaLang/julia