Fix memory leak reloading triggers

Because the triggers are loaded to the scheduler and not an object
of a pipeline they aren't reset when reloading. They are reused
by the new pipeline, however any previously loaded triggers will
still have an old connection object that should no longer be used.

Instead reset the triggers when reloading causing new triggers to be
created by the pipeline configuration against the new connection objects.

The connection objects that were hanging around for old triggers were
keeping their change cache and hence using up a lot of memory.

It appears that maintainTriggerCache is only called when reloading,
so the cache would have a habit of growing out of hand and, in particular,
if you don't ever reload it will not be maintained. A followup to run
the cache at sensible times will come.

Change-Id: I81ee47524cda71a500c55a95a2280f491b1b63d9
1 file changed