Add an owner attribute to all variables
Add array names as template arguments and adapt the templates
Fix some issues surrounding template names and use the restrict pointers everywhere in weave code