Remove the need of a provider for capability dependency in another provider

Currently, when specifying a capability dependency for a provider, a provider needs to be specified for that dependency. I'd like to make this optional.

I.e. I'd like to do this:

```
%YAML 1.1
---
name: tb_bringup
spec_version: 1
spec_type: provider
implements: turtlebot2_capabilities/TurtleBotBringup
launch_file: 'launch/tb_bringup.launch'
depends_on:
  'std_capabilities/DifferentialMobileBase'
```

But currently, I need to do this:
```
depends_on:
  'std_capabilities/DifferentialMobileBase':
    provider: 'kobuki_capabilities/kobuki_differential_mobile_base'
```

Otherwise I get an error, when this provider is started:
```
[ERROR] [WallTime: 1384062569.854299] RuntimeError: Capability Provider 'None' not found
```

IMO, setting (default) providers is the job of the capability server launcher or the service client.