Configuration support for enabling/disabling shallow cloning

Added a configuration option in the .bowerrc file to allow
enabling/disabling the shallow clone feature per host.

The configuration looks like this:

```
{
    "hosts": [
        {
            "name": "git.myservice.com",
            "shallowClone": true
        }
    ]
}
```

The `hosts` element accepts an array of host entries, each one with a
`name` and a `shallowClone` attribute. The name of the host is matched
against the target host in the clone/install command.

If the target host is not part of the configuration, or no `hosts`
configuration has been provided at all, Bower defaults to _false_ for
the shallow clone feature, the current default behavior for all
non-GitHub repos.