Better cleanup of event bus event listeners

Use a single event bus in the tests. This avoids unneccessary object
initialization and also more closely matches what happens in the
real app.

This exposed the need for better event listener cleanup in some
of the views.  Luckily, we're already using the idiom of a
``close()`` method to do this.  Add close methods to a few of the
views and call them in the appropriate afterEach() function in
the tests.