Add OS::Heat::SoftwareComponent resource

This patch adds a SoftwareComponent resource for defining
configurations for a software component's different lifecycle
actions.

The current patch only adds the basic code for the resource and
initial test code. A subsequent patch in this chain will add more
validation (beyond basic property schema validation), e.g. to make
sure that not more than one config is defined for one lifecycle
action.

Implements: partial-blueprint action-aware-sw-config

Change-Id: Idd9de7edf3bab99f26911a0d018a1d433381deb4
Merge "Add OS::Heat::SoftwareComponent resource"