Fix regression in evaluating composite columns that use other composite columns.

Assume column X uses column Y. If X assigns to template variables then evaluated Y, the variables were cleared. The regression happened because the performance increase changes to use ProxyMetadata also caused X and Y to be evaluated in the same formatter instance where before they were evaluated in separate instances. This triggered a long-standing latent bug where a 'global' local variable dictionary was cleared every time a template was executed. The fix is to make the local variable dict local to the template evaluation instance.
Merge branch 'master' of https://github.com/cbhaley/calibre
Update Nikkei News
Start work on function mode for S&R in the editor
Add function mode support to the saved searches dialog
More builtin search and replace functions
Add saved searches context menu items to the functions box