Add auto_requires and auto_optional for components.
Add auto_requires and auto_optional for components.

new_component_type uses auto_requires and auto_optional to extend
the requires and optional specs for decorators it produces. These
decorators give their components automatic dependencies that extend
whatever is specified when they're used.

PaulWay/insights-core,wcmitchell/insights-core,wcmitchell/insights-core,PaulWay/insights-core