Pass in remote templates in component.json

Pull-request for issue #286

This allows you to set paths in the remote section of the manifest for custom URL paths:

```json
{
   "remotes": {
      "https://privateserver": "/{name}/blobs/raw/{version}/{file}"
   }
}
```

**While still letting you use the array list of remotes as before.** If you use an array of remotes it will use the default 'template' of `/{name}/{version}/{file}` — aka the github-style.

Primary use case for this is for git servers that don't use the github URLs. This means you could use Component with Bitbucket (I think) and Gitorious, which is great for setting up an internal registry of components.