Add engine preview stack with Template and Params

Add support for the engine to return the preview of a stack given a
template and the necessary parameters.  No resource will actually be
created, just returned for visualization purposes.  This allows a user
to know beforehand what will happen to their stacks once they used such
template.

The response is a formatted stack plus formatted resources in it:

  {
      'stack': {
        // stack information similar to a call to stack_create/show
        'resources': [
            // resources similar to a call to resource_show
        ]
      }
  }

For now, grouped resources (any of the StackResource) will just be
returned as a single resource, but the preview will be overridden in the
future to allow for more specific behavior.

Implements: blueprint preview-stack (partial)
Change-Id: I8b862110f00ac0cf31d96a86cbc134df895cc19b
Add API support for stack preview

Add endpoint for previewing a stack as returned by the engine.  The call
is similar to a create_stack call and takes the same parameters, but
will issue a preview instead of a create.  The response will be the
formatted stack plus the formatted resources that would exist with that
template/parameters.

Implements: blueprint preview-stack (partial)
Change-Id: I5fcfa76e741c556a7edf222805b41923344becbe
Add StackResource specific preview behavior

This allows previewing a StackResource not as a single resource, but as
resources within a stack.  In order to do that, resources that inherit
from StackResource must override both ``child_template`` and
``child_params`` methods to allow the stack to be parsed.  If any of
these methods is missing, the preview will default to being just the
StackResource itself, and will be returned as a single resource.

Implements: blueprint preview-stack (partial)
Change-Id: I03be7e58a6809f5061546a469b69165d6ca70a30
Add preview for NestedStack

Override ``child_template`` and ``child_params`` to allow previewing of
NestedStack as a group of resources.

Implements: blueprint preview-stack (partial)
Change-Id: I3acde4ccc31731aee1209c747fdbcc4446be63bc
Add preview for ResourceGroup

Override ``child_template`` and ``child_params`` to allow previewing of
ResourceGroup as a group of resources.

Implements: blueprint preview-stack (partial)
Change-Id: I165e31dcc1be5eddf00caa4209b1ff027b129cc6
Add preview for InstanceGroup

Override ``child_template`` and ``child_params`` to allow previewing of
InstanceGroup as a group of resources.

Implements: blueprint preview-stack (partial)
Change-Id: I821ac72e11921964acd5d8f1dd33a302edf3aa8b
Add preview for TemplateResource

Override ``child_template`` and ``child_params`` to allow previewing of
TemplateResource as a group of resources.

Implements: blueprint preview-stack (partial)
Change-Id: I34d81783ecfe2592c8e3759c4e9afc47a8483b94
Add preview for LoadBalancer

Override ``child_template`` and ``child_params`` to allow previewing of
LoadBalancer as a group of resources.

Implements: blueprint preview-stack (partial)
Change-Id: Ie31cd1059fe95c2bdca5d6afed566b7e00d8002d