Support for system default providers

One feature that would be very helpful for deploying this on robots, and making it easier on applications developers to hop from robot to robot, is the notion of a set of system/platform defaults, so that a robot manufacturer may easily set the default set of capabilities that should be preferred when not overwritten by a particular preference passed by an app.

For instance, almost every robot will implement the _Navigation_ capability, but will do so in their own package/launch file, setting important parameters and configurations for that robot. As an application developer, your application should be able to run on any of these robots, and simply ask for "Navigation" and get the proper config for the robot.

I'm not sure how we want to implement these -- should they be parameters to the capabilities server? That way, when the main robot launch file that brings up drivers/roscore is launched, you've set the defaults.