Improvements to glance element:

- Perform config installation with os-config-applier
- Known-working config files
- Perform service restarts using os-refresh-config hooks
- Collapse g-api and g-reg into a single element, at least for now

Change-Id: Ie40c9725cbc27445e10ffde8eeff422bd121d5b5
Allow elements to include skeleton config:

This code provides 'use-config-templates' for elements
to use to install os-config-applier templates to
/opt/stack/openstack-config-templates.

These templates will be filled in from heat
metadata by os-config-applier upon first boot.

This change updates keystone to install templates
in this way as an example.

Change-Id: I0be0a79a431e9ba5b80e84f130c48d5ce8b100ae
Seperate install of services and start scripts:

This allows openstack services to be git/pip installed
without installing any startup scripts.

This is useful for keystone-db or nova-db elements, for
example, where the service must be installed to perform
database migration, but no service start scripts need
be installed.

Additionally, add a tool to create openstack sql databases.

Change-Id: I72751d4da59f8597d20aea2f27a9dfabe2f63a8f
Update keystone element to use os-refresh-config.

Change-Id: I15595d80ee7fad04d964aaa83a403d9303f6aa55
Add a nova-baremetal element.

Change-Id: I4b439485c32402fa98e45dfea976538e43b770ad
Add a quantum element.

Change-Id: I9de3d85e800c9ea9accafffc92e1cfcafa5c3fdd
Add a horizon element.

Change-Id: Ie585a7ea63ba5b5b8b064df738e9616827e913fa
Add a nova-virt element.

Change-Id: I2e5cbfdfd0da930050ec86d6ee536910bebc64c9
Add a bootstrap element.

Change-Id: Ic300e39a56f401be4d88feb6cdf85c851982282c
Touch a first-boot.status file:

After running first-boots scripts, both to indicate
that the scripts have completed, and also to record
the exit status.

This is useful for automated testing:
  - tests can wait until first-boot scripts have
    completed before commencing testing
  - tests can abort further testing if first-boot
    scripts have failed.

Change-Id: Idec63de858c15def8c621056232aad45eab225e8
DO NOT MERGE: tim element

Change-Id: I2d8927a391306b21cac0a913153dbd3fc3c4ace4
DO NOT MERGE: bin/boot-elements

Change-Id: I0d4e61d0f00a8635ad27c37eb96d226269f27ab3
SQUASH: seperate service install ...

Change-Id: I4b603ee206752c799092bbb9e0d28ce6989820d1
SQUASH: seperate service ...

Change-Id: I322fa16f63bf0c79b297a537a699cbb04ac84852
TO PROPOSE: local-config adds authorized_key for root:

- add authorized_key for root from local-config element
- install key for stack user from stackuser element,
    if local-config has provided it.

Change-Id: I0d07b61404119ea0650c5c0fb98d6786adcf3ca9