Add #git_source to define custom git sources

Adds ability to register custom git sources like :github and :gist.

Example:

  git_source(:acme){ |repo_name| "git@git.acme.org:#{repo_name}.git" }
  gem "secret", :acme => "strzalek/secret"