A resource to generate random strings

A common pattern for templates is to define parameters
for passwords and specify the password on stack create.
For complex templates this can impact template maintainability
and makes stack creation more complicated.

In addition, a password parameter leaves the temptation of
using the same password (or worse, the parameter default) on
each stack launch which raises the security risk.

This resource allows secrets to be generated in the template and
propagated to compute resources as needed. Often the user will
never want to see the generated string, but if they do they
can put it in a stack output.

This resource has been requested by the tripleo project
who run trunk heat, so it will be of immediate benefit to them.

Implements blueprint random-string-resource

Change-Id: I044fc7717133fc7a3520dca774300024925ff2aa
Merge "A resource to generate random strings"