Allow user_data to be passed without modification

Although heat's agent tooling is heavily dependent on cloud-init, some
users will want to orchestrate servers that are not cloud-init enabled.
They may use their own agent, or a user_data which is executed as a
script on boot. Possibly the user will also want to specify #cloud-config
user_data explicitly.

This change adds the property 'user_data_format' to OS::Nova::Server
with the available options 'HEAT_CFNTOOLS' or 'RAW'.

The following OS::Nova::Server resource snippet was successfully
executed on a cirros image (which does not support cloud-init)
      user_data_format: RAW
      user_data: |
        #!/bin/sh -v
        echo foo > /tmp/bar

This change is completely unrelated to any software configuration
related blueprints, however the property user_data_format has the
potential of supporting more values in the future.

Implements blueprint raw-user-data

Change-Id: I27571620b4fc74a9f82d12a2f754037c00ad81ff
Merge "Allow user_data to be passed without modification"