template: @template_args decorator addition

* Adds new decorator to allow overwritting template context functions by endpoint.  (closes #2009)

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
Perhaps add a note around here that ``template_args`` is executed for every single render_template executed within your view. E.g.:

```python
from invenio.modules.records.views import metadata

@template_args(metadata)
def foo():
    return {'foo': 'bar'}
```

will be called for every ``format_record()`` call plus the views render_template.