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
Merge "Pass the files correctly though the update mechanism"