Fix event_type names for stack CRUD notifications

According to the documentation [1] and for consistency, notifications
sent by Heat for stack CRUD operations must be :
orchestration.stack.{create,update,delete,suspend,resume}.{start,error,end}

Currently the notifications sent looks like (missing 'stack.')
orchestration.{create,update,delete,suspend,resume}.{start,error,end}

[1] https://wiki.openstack.org/wiki/SystemUsageData

Fixes bug #1273240

Change-Id: Id46158c495f10436b62755deaf5b6a91e2e7e4bc
test_signal add missing VerifyAll calls

Some tests set mox into replay mode without then doing VerifyAll so
add where missing.

Change-Id: I230768c1e170ab9fab5ca6131394058c2de019f1
Verify setenforce is executable

Some images/distros do not install/use selinux. This small change will
verify that `setenforce` is executable and in the path before attempting
to run the command. This prevents the script from erroring and causing a
failed `cloud-init` run.

Change-Id: I42f802c7994b8d907f0cc4e3b1a38e6fd89dac0c
A cloud-config resource based on SoftwareConfig

This simple resource allows cloud-config to be specified
as a map property, and stores the resulting YAML as a SoftwareConfig
resource.

Because cloud-init is boot only, this resource won't be used with
a SoftwareDeployment resource, also it will not have inputs or outputs.

Instead, a server's user_data can contain this resource via get_resource
when user_data_format is SOFTWARE_CONFIG.

Implements: blueprint cloud-init-resource

Change-Id: I15c8d6a03b8da274531b76cca658e37def4eb460
Ensure stack lock is released after stack-delete

Previously, stack locks would not be released after a stack-delete
because the stack ID was being passed to db_api.stack_lock_release() as
None.  To resolve this, pass the stack ID to the greenthread-linked
release function while it still exists.

Change-Id: I260c4c5512bd2069f134e9d6ac6ea07565e443b0
Closes-Bug: #1276336
Create heat database with default character set utf-8

The heat-db-setup script wasn't creating the heat database with default
character set utf-8 which can cause the migrations to fail.

Closes-Bug: #1276880

Change-Id: I35861af66d70314285fa76bb148e403aeea4b654
Merge "Verify setenforce is executable"
Merge "Ensure stack lock is released after stack-delete"
Merge "A cloud-config resource based on SoftwareConfig"
Merge "Fix event_type names for stack CRUD notifications"
Merge "Create heat database with default character set utf-8"
Merge "test_signal add missing VerifyAll calls"
Retrieve user_id from HTTP Headers to populate Context

We need the user_id with notifications sent by Heat to be able to
handle it in Ceilometer, currently only the username is provided which
can be non-uniq per tenant and could snip the storage unity.
The easiest way to do that is to populate the Context with the user_id
retrieved from Headers.

Related-Blueprint: send-notification

Change-Id: I88bd5612556d2000d72427308d17643f14d35306