Split out SwiftDevicesAndProxy SoftwareConfig
This patch splits out the SwiftDevicesAndProxy config
such that alternate implementation (puppet for example)
can implement their own SoftwareConfig's via a nested stack.
This is controlled by the standard overcloud heat environment.
For os-apply-config deployments the implementation should work the
same as before.
For puppet deployments the implementation uses hiera metadata
to configure swift devices.
Partial-bug:
1418805
Change-Id: Ibf6038460f36279ad51a04947589d4a03a553f66