run_test.sh -V --unit doesn't run using virtualenv

Before this change, when you called the script using the -V option, the tests
were run outside the virtualenv that the script creates.
To fix it, I modified the lines of the script that run the tests to run
inside the virtualenv using the $wrapper variable.

Change-Id: I5c202727e0b5214670d54e14c80a68cc8ebec400
Closes-Bug: #1251730
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
Merge "run_test.sh -V --unit doesn't run using virtualenv"
Merge "Pass the files correctly though the update mechanism"
Merge "Handle TemplateResouces with the wrong template extension"