Return map parsed value at JsonParam.value

Currently, JsonParam returns String value as JsonParam.value.
However, SCHEMA_TYPES:MAP property doesn't support getting String value.
JsonParam have to return map value for to work properly.

Fixes bug #1256891

Change-Id: I5acc1aa95c0c0e7bebc760d8bf088971630696ec
Add collection count to stack list

Add an optional parameter ``with_count`` to the stack_list API to
allow the inclusion of the collection count in the body of the response

When passing the parameter, the response looks like:
{
  'stacks': [...],
  'count': 42
}

blueprint: count-stacks
Change-Id: I560cfff9d327db9b325e7cf4786bd2fcd71d47b2
Add SupportStatus class for resources

SupportStatus class has following attributes:
- status (SUPPORTED, DEPRECATED, etc. All allowed support
statuses are defined)
- message (property for providing some information about status)
- version (when resource came into specific support status)

By default support status of each resource is SUPPORTED.

Support status added to Resource class as a static attribute.

Implements bp resource-support-status

Change-Id: Ib3aacdb0f28b09ebeecfc3f13cf22587f8d57f03
Pass the files correctly though the update mechanism

By "files", we mean the TemplateResource templates that get
passed into stack create and update.

The files are critical to the definition of TemplateResources
so we need to have the correct version of them in each stage
of the update.

Within the update there are 3 stacks:
- existing (stack been updated)
- newstack (the goal state)
- previous (a snapshot of the initial stack)

To update TemplateResources we need the existing stack to have access
to the new "files" but the previous stack must contain the old set (or empty).
This way the TemplateResource can get access to the new template and find the
difference to the previous template.

Note: although there are no tests in this patch, a following fully uses
and tests this functionality.

Partial-bug: #1254966
Change-Id: I803a385940759a4eb04df1eccce166be24ee333c
Handle TemplateResouces with the wrong template extension

Change-Id: Ifcd7a5728fcdb61146ad6461697756ea46e9ab96
Fix error in Trove Instance schema definition

Change-Id: I79d0f0318a161b4666ea149ba0691bd6dfe877f2
Call cfn-create-aws-symlinks in boothook.sh

Images which have heat-cfntools installed from rpm or deb
will not have cfn tool links in /opt/aws/bin.

This change runs cfn-create-aws-symlinks during cloud-init
boothook.sh. It should do the following:
* if no cfn tools exist in /opt/aws/bin, symlinks from /usr/bin
  will be created
* if cfn tools exist in /opt/aws/bin, no symlinks are created
* if cfn-create-aws-symlinks doesn't exist, there will be no effect

This is required to use a vanilla Fedora 20 cloud image with heat,
which has heat-cfntools pre-installed.

Change-Id: I5426fdad3031f91b4b9c1f9c9c19ac9cc42cf2dd
Merge "Pass the files correctly though the update mechanism"
Merge "Handle TemplateResouces with the wrong template extension"
Merge "Return map parsed value at JsonParam.value"
Merge "Fix error in Trove Instance schema definition"
Merge "Add SupportStatus class for resources"
Merge "Add collection count to stack list"
Merge "Call cfn-create-aws-symlinks in boothook.sh"