The beginning of context hooks.

Not the working solution, but getting there conceptually.  Basically
we'll have a key with the view and the template as a tuple which is
the context hook that anyone can attach to.

However, some changes have still to be made:
 - The unit test doesn't work yet and contains a set_trace ;)
 - We'll probably switch the "view" component from being the callable
   to the "urlgen"'able name per Elrond's suggestion
 - Found a bug in unit tests related to running custom apps for
   different configs... hm.  I need to fix this!

Nonetheless, making progress.

This commit sponsored by... wait a minute... Christopher Webber?!
Ah right, and here's the config we intend to use for these context modified tests :)

This commit sponsored by Xavier Gulliot.  Thanks Xavier!
Merge branch 'master' into 623_context_hooks
Use the controller's symbolic/lookup name as part of the key for context hooks

This commit sponsored by David Collins.  Thank you!
Merge branch 'master' into 623_context_hooks
Fully working context hooks, both template/view and global level, with tests

Needs documentation though... that's coming next :)

This commit sponsored by Luca Tius.  Thanks Luca!
Documenting the test_modify_context and context_modified_app methods
Added documentation on view specific hooks

This commit sponsored by Matthew Woodward.  Thank you!
Adding global context hooks & fixing method names->symbolic view names in docs

This commit sponsored by Sheila Miguez.  Thanks Sheila!
Hook->hooks since there's more than one of them :)
Oh right, actually add that hook we just documented, "template_context_prerender" :)

This commit sponsored by William Goudie.  Thanks Bill! :)
Simple tyop, view->test... I was writing too many tests at the time :)
Testing the template_context_prerender hook

This allows for modifying any context *right before render*, including
access to the variables that are passed in.  This test takes advantage
of that and takes one of the variables, "doubleme", and modifies
it (doubles it!)

In our case it turns "happy" and "joy" into "happyhappy" and "joyjoy".

This commit sponsored by Mark Holmquist.  Thank you!
Merge branch '623_context_hooks'