Implement template_call()

This makes templates infinitely pluggable by adding in 3 events for every template: pre, execute, post. You can effectively add before/after or not even call any/every template which makes themes very extensible.

It changes all calls of every template to use template_call()
If a template doesn't use template_call() it doesn't break anything so there are no backwards compatibility issues.

Although it can be added at any time, I'd still recommend some testing and code review to make sure I didn't miss anything or break anything.

See http://www.elkarte.net/community/index.php?topic=1077 for the discussion