Merge branch 'feature/9222_interpolation_defect'
Re #8357. Eliminate valgrind invalid write warning.

By making sure to unregister the observer at the end of the test.
Re #8357. Fix leak in test by breaking cyclic reference.

The BoxController & BoxControllerDummyIO objects were each holding a
shared_ptr back to the other.
Re #8357. Fix memory leaks in tests.

By creating object on the stack instead of unnecessarily on the heap.
Re #8357. Remove leak in test by adding components to instrument.

The fact that you have to call two methods in succession to get this
right is probably not great design. Nor is the fact that you can
'mark' something that isn't in the instrument without any error or warning.
Re #8357. Eliminate memory leaks in tests.

By calling delete where appropriate.
Re #8357. Eliminate memory leak in test.

By removing group from within group to eliminate cyclic shared_ptr
reference. Possibly there's a real potential issue here, but would
anyone really ever put a group within a group?
Re #8357. Update to account for change in TestHelpers class.

The BoxControllerDummyIO constructor was changed to accept (and hold
internally) a bare pointer to avoid a cyclic reference.
Merge branch 'bugfix/8357_api_test_memory_leaks' into develop