Normalize GitHub urls

fixes #7

builds on top of #78

ran this though all registered packages and it covers all of them except the following

```JSON
{
    "name": "ember-build-validations",
    "url": "git://github.com/dockyard/ember-builds/tree/master/validations"
},{
    "name": "grid-generator#1.0.1",
    "url": "git://github.com/martinmaricak/Grid-Generator/releases/tag/1.0.1"
},{
    "name": "kojs",
    "url": "git://github.com/SteveSanderson/knockout/blob/master/build/output/knockout-latest.js"
},{
    "name": "linq",
    "url": "git://github.com/mihaifm/linq/blob/master/linq.js"
},{
    "name": "RangeSlider",
    "url": "git://ghusse.github.com/jQRangeSlider"
},{
    "name": "squeezr",
    "url": "git://github.com/jkphl/squeezr/tree/master/squeezr"
}
```

All of which are invalid and can't be downloaded anyway.
Complex regex for this sort of thing makes me nervous. Use [url.parse](http://nodejs.org/docs/latest/api/url.html#url_url_parse_urlstr_parsequerystring_slashesdenotehost) instead?

Something like:
```
var parsed = url.parse(originalUrl) // Have to use a different argument name to not clash with url module
if (/github.com$/.test(parsed.host)) {
  var normalized = {
    protocol: 'git',
    slashes: true,
    hostname: 'github.com',
    path: parsed.path
  };
  return url.format(normalized);
}

return url;

```

This doesn't deal with normalizing the path part, but you can do that with a much simpler regex