add serialization for engine timing reporting
fixes: vip for std eng missing functions
modified behavior to be more flexible in what it accepts and better handle changes. Now overwrites (change a, "", c to a, b, c) work as expected without causing errors later on when deallocating, or intiially when tags are being generated.
updated tests to reflect current expected behavior
closes #24
runtime build