Test for template engine hooks overloading in multiple apps:

An issue Mickey and I noticed was that the wrong before_template
hook was called.

We had:
- App1
- App2

We loaded both apps, and then making a request to App2 specifically,
which then triggered the before_template hook from App1 instead.

After writing this test script, it would appear (and it's now
expressed in the test as well) that App2 gets both the before_template
which is defined in it, but also the one from App1.

Further investigation required to find why this happens, although I have
my suspects.
Improve tests:

Now that we understand the problem better, we're checking a few more
things:

* Make sure the proper before_template_render hook is called.
* Make sure this doesn't affect the 'before' hook.
  (this verified postponed_hooks vs. non-postponed_hooks)
Postponed hooks by app name:

All of the postponed hooks are available through the runner and later
composed into each App. The problem is that the App receives all the
postponed hooks that were registered in the Runner, even if they don't
belong to it.

That means that every App receives every postponed hook (like
before_template) that every previous App created. App1's postponed
hooks are sent to App2 (along with any postponed hooks App2 has)
and all of them will be sent to App3 (along with any postponed hooks
App3 might have).

t/multiapp_template_hooks.t shows this.

The problem is solved by simply using the application name in order
to store the postponed hooks in the Runner to make sure we only add
the postponed hooks that are relevant to the App.
reflect changes
Merge branch 'fix/template-hooks'